Rhumba: a faster R distribution

Leveraging Mamba and conda-forge for R-package management

CRAN is the official package manager for the R ecosystem. Unfortunately, simple operations such as creating new environments or installing packages with it can be very time-consuming due to the fact that packages are compiled on the user’s machine.

Rhumba is a solution that leverages the Mamba engine to install R packages, offering ready-to-use compiled binaries. Thanks to the heroic effort of the community to build thousands of Conda R packages we could significantly decrease the time it takes to install a package and start using it.

Rhumba installing devtools

For a simple comparison, installing the package with Rhumba on my laptop takes under 30 seconds, while doing it with CRAN on the same conditions takes 12 minutes.

Rhumba runs on Linux and macOS and we’re working on expanding it to Windows soon.

Installation

With minirhumba

Minirhumba is a self-contained installer that contains everything that you need to get started with Rhumba. To use it, all you have to do is choose your preferred version here and run:

This will bootstrap a base R environment including Rhumba.

With mamba

You can also simply install Rhumba with Mamba:

Use

First set the channel you want to get your packages from (these are the default):

Then install packages:

User installing igraph package with rhumba

Just make sure your package is available on the channel you’ve set before. For example, if you’re using make sure your package is available there, you can search for it here. To see all the packages that are currently installed in your environment:

And to learn more about what Rhumba can offer you and how you can configure it, check the wiki!

Acknowledgements

All of this was only made possible because of the great work by Wolf Vollprecht and all the Mamba contributors! We are immensely grateful to the community for providing such an amazing collection of built R packages.

About the author

My name is Mariana Meireles and I’m a software developer working for QuantStack. I care deeply about the impacts that technology has in the world and try my best to be the change I want to see by contributing to open source projects that stand upon libre and diverse standards.

Prior to QuantStack I worked as a developer on the PySide team at the Qt Company and as a web performance developer at Mozilla.

curious soul, writing scientific software @Quantstack