| part of mamba-org | ||
|---|---|---|
| Package Manager mamba | Package Server quetz | |
mamba is a reimplementation of the conda package manager in C++.
- parallel downloading of repository data and package files using multi-threading
- libsolv for much faster dependency solving, a state of the art library used in the RPM package manager of Red Hat, Fedora and OpenSUSE
- core parts of
mambaare implemented in C++ for maximum efficiency
At the same time, mamba utilizes the same command line parser, package installation and deinstallation code and transaction verification routines as conda to stay as compatible as possible.
mamba is part of the conda-forge ecosystem, which also consists of quetz, an open source conda package server.
You can read our announcement blog post.
micromamba is the statically linked version of mamba.
It can be installed as a standalone executable without any dependencies, making it a perfect fit for CI/CD pipelines and containerized environments.
See the documentation on micromamba for details.
mamba has to be preferred when:
libmambapyorlibmambais used by other software in the same environment.- Scenarios where regular updates to libraries are required (especially for security).
- Environments are focused on reducing disk space usage for dependencies.
micromamba has to be preferred when:
- Relying a single self-contained executable is required.
- A miniforge distribution is not present.
- Usage requires minimal runtime.
Please refer to the mamba and micromamba installation guide in the documentation.
mamba and micromamba come with features on top of stock conda.
To efficiently query repositories and query package dependencies you can use mamba repoquery or micromamba repoquery.
See the repoquery documentation for details.
micromamba can be used to install lock files generated by conda-lock without having to install conda-lock.
Simply invoke micromamba create with the -f option, providing an environment lockfile whose name ends with
-lock.yml or -lock.yaml; for instance:
micromamba create -n my-env -f conda-lock.ymlsetup-micromamba is a replacement for setup-miniconda that uses micromamba.
It can significantly reduce your CI setup time by:
- Using
micromamba, which takes around 1 s to install. - Caching package downloads.
- Caching entire
condaenvironments.
While mamba and micromamba are generally a drop-in replacement for conda there are some differences:
mambaandmicromambado no support revisions (for discussions, see mamba-org#803)mambaandmicromambanormalizeMatchSpecstrings to the simplest form, whereascondause a more verbose form This can lead to slight differences in the output ofconda env exportandmamba env export.
Please refer to the instructions given by the official documentation.
Only mamba and micromamba 2.0 and later are supported and are actively developed.
The 1.x branch is only maintained for addressing security issues such as CVEs.
For questions, you can also join us on the QuantStack Chat or on the Conda channel (note that this project is not officially affiliated with conda or Anaconda Inc.).
We use a shared copyright model that enables all contributors to maintain the copyright on their contributions.
This software is licensed under the BSD-3-Clause license. See the LICENSE file for details.
We have videoconference meetings every two weeks where we discuss what we have been working on and get feedback from one another.
Anyone is welcome to attend, if they would like to discuss a topic or just listen in.
- When: Tuesday 4:00 PM CET (Europe)
- Where: Mamba jitsi
- What: Meeting notes
