Rhumba: the fast R distribution is available on Windows!

New features, cross-platform

AdrienDelsalle
3 min readMay 18, 2021

A few months ago, Mariana Meireles created Rhumba, a fast R package manager and distribution leveraging the conda-forge initiative and the mamba library.

Today, we’re happy to announce a new major release of Rhumba, with tons of new features and the support of the Windows platform!

Previously on Rhumba

While CRAN is the official package manager for the R ecosystem, even simple operations can be time-consuming with it. By design, CRAN compiles packages on users’ machine which is a quite time-consuming task.

The huge effort of the conda-forge community to build thousands of conda R packages makes them ready-to-use, without having to pay this extra cost of compilation.

Rhumba leverages mamba’s internals, such as the efficient and robust libsolv solver, to manage conda packages. It is the exact same pure C++ implementation as micromamba that provides fast operations!

New features, cross-platform!

What’s new?

Rhumba takes all the benefits of recent efforts put on mamba and micromamba to provide support for:

  • more operations: install, update, create, remove, info, list, etc.
  • configuration files! including use of your already existing rc files (.condarc or similar) with many options already supported
Package management using Rhumba

A lot will also be coming soon, for example package signing. Stay tuned!

You said cross-platform?

Yes, that’s it! Rhumba is available on Windows to serve the R community. You see it in action on the previous screencast ran from PowerShell.

libmamba is the library that provides all the features of Rhumba, but requires a C++17 compliant compiler, which is not fully the case of the MinGW toolchain. After an initial setback, we decided to implement a C-API in libmamba to make it available much more easily.

This new C-API opens a lot of new perspectives to explore, such as new language bindings with Python using ctypes, or Julia!

How to get started

Using mamba

If you are familiar with the conda ecosystem and already have an installation running, you can simply install Rhumba with:

mamba install rhumba -c conda-forge

Using minirhumba

minirhumba is a self-contained installer akin to miniforge or miniconda, that will bootstrap a R+Rhumba environment for you! Get the latest installer for your platform and run it.

Using micromamba

You can also bootstrap a fresh environment using micromamba based on your packages specs!

What R packages are available on conda-forge?

Thousands of R packages are available on conda-forge and can be installed with Rhumba! conda-forge packages for the R programming language are always prefixed with r-.

If a CRAN package isn’t available on conda-forge yet, you can use conda-r-skeleton-helper to generate a recipe for it.

Acknowledgements

The mamba organization is moving fast thanks to a growing community of contributors and users! Many thanks to Wolf Vollprecht, Mariana Meireles, and Bartosz Telenczuk.

About the author

My name is Adrien Delsalle and I’m a scientific software developer at QuantStack. I’m currently working on the xtensor and mamba stacks.

--

--