What is mamba

Mamba is a drop-in replacement for conda, the awesome cross-platform package manager. In our opinion, conda has one tiny problem: it’s too slow when many packages are installed, or when installing multiple packages at the same time. Mamba still uses conda for almost everything, except for the dependency resolution part. We swapped out the conda solver for a different implementation called libsolv , a C library that already powers package managers on Linux systems such as Fedora’s dnf or OpenSuse’s zypper.

The command line interface, the environment handling, the package file format, installation process, the repodata format and everything else is exactly the same as with conda, and it is using the exact same Python code as conda for all of this functionality. So it’s really only the solver that’s different!

What’s new

The first good news is that our contribution to libsolv, Windows (MSVC) build support, was merged upstream. This means libsolv now works perfectly fine on all major operating systems (Windows, Linux and OS X). Additionally, Michael Schröder from OpenSUSE has helped us out tremendously by integrating support for conda into libsolv itself!

With the latest release of mamba, you can use mamba not only to install packages, but also update and uninstall.

For example, now

$ mamba update xtensor -c conda-forge

and

$ mamba remove numpy

work fine and much faster than with conda.

Thanks to the libsolv’s conda integration, packages should now be matched with the exact same logic as in Python. You can supply “difficult” specs on the command line, such as:

$ mamba install "blas=*=openblas"

Thanks to our friends at Binder/repo2docker the latest news is that we also support installation from yml files! I am happy to report that it passes all the tests in the repo2docker test suite!

$ mamba env create -f xstack.yml

Where xstack.yml is a yml file that corresponds to the conda format.

And last but not least, mamba lost its alpha label. You can now download it from the default conda-forge channel:

conda install mamba -c conda-forge # or ...

mamba update mamba -c conda-forge # of course ;)

Mamba in Mini: minimamba!