Fast Software Package Management for Bio and Data Science
Wolf Vollprecht (conda-forge core, QuantStack, NumFOCUS)
To improve the tooling around the conda ecosystem to better serve the millions of users in biological sciences, data sciences, physics, robotics and other scientific disciplines.
The conda-forge project is a community-maintained distribution of software packages for biological sciences, data sciences, physics, robotics and many more scientific disciplines. It comprises over 10,000 C, C++, Python and R packages. Over 250 million packages are downloaded from the conda-forge channel monthly. Bioconda and conda-forge are determined to enable reproducible science, and have never removed outdated packages.
Mamba is a package and virtual environment manager that is fully compatible with all existing and future conda packages, including the conda-forge and bioconda channels. It is an alternative implementation of the conda package manager in C++, which solves speed and efficiency issues of the original “conda” implementation in Python. Mamba is built upon well-established open-source libraries such as libsolv for fast dependency resolutions (in use by major Linux distributions like Fedora, RedHat, and OpenSuse), and libcurl for parallel downloads. Mamba is being developed at a faster pace than the original Python implementation as it has a smaller, modern codebase. Mamba’s solid dependency solver ensures that the package manager can keep up with the fast-paced growth of conda-forge and bioconda. Mamba also enables additional innovations: micromamba, a small, encapsulated executable that can be used as a fully-fledged package and virtual environment manager and allows users to bootstrap conda environments.