Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
7 of 171 committers (4.1%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
The Fast Cross-Platform Package Manager
Basic Info
- Host: GitHub
- Owner: mamba-org
- License: bsd-3-clause
- Language: C++
- Default Branch: main
- Homepage: https://mamba.readthedocs.io
- Size: 11.6 MB
Statistics
- Stars: 7,621
- Watchers: 46
- Forks: 407
- Open Issues: 452
- Releases: 78
Topics
Metadata Files
README.md
Mamba: The Fast Cross-Platform Package Manager

| part of mamba-org | ||
|---|---|---|
| Package Manager mamba | Package Server quetz | |
mamba
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
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 v.s. micromamba
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.
Installation
Please refer to the mamba and micromamba installation guide in the documentation.
Additional features in Mamba and Micromamba
mamba and micromamba come with features on top of stock conda.
repoquery
To efficiently query repositories and query package dependencies you can use mamba repoquery or micromamba repoquery.
See the repoquery documentation for details.
Installing lock files
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:
bash
micromamba create -n my-env -f conda-lock.yml
setup-micromamba (setup-miniconda replacement)
setup-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.
Differences with conda
While mamba and micromamba are generally a drop-in replacement for conda there are some differences:
mambaandmicromambanormalizeMatchSpecstrings to the simplest form, whereascondause a more verbose form This can lead to slight differences in the output ofconda env exportandmamba env export.
Development installation
Please refer to the instructions given by the official documentation.
API and ABI stability
The Mamba project uses semantic versioning of the form MAJOR.MINOR.PATCH.
While we try to keep things stable for users, we also need to make breaking changes to improve
Mamba and reduce technical debt.
Future versions of Mamba may give stronger guarantees.
libmamba (C++)
We are not aware of consumers of the C++ API, so we give ourselves room for improvements.
For libmamba, the term backward compatible is understood as follows:
- ABI backward compatible means that you can replace the library binary files without recompiling your code with the updated headers. The observed behavior will be the same, except for bugs (disappearing, hopefully) and performance.
- API backward compatible means that you must recompile your code with the new library
version code, but you won't need to change your code, just re-build it.
This applies as long as you did not use any declaration understood to be private, for instance
in the
detailsub-namespaces. The observed behavior will be the same, except for bugs (disappearing, hopefully) and performance. When declarations are deprecated but not removed and still functional, we consider it also backward compatible, as only the observed behavior during compilation changes.
With this in mind, libmamba offers the following guarantees:
PATCHreleases are API and ABI backward compatible;MINORreleases are API compatible for declarations inmamba/api, They can break API elsewhere and ABI anywhere;MAJORreleases make no guarantees.
libmambapy (Python)
For libmambapy, the term API backward compatible implies that your Python code will work the
same for a newer version of libmambapy as long as you did not use any declaration understood to
be private, for instance accessed with a name starting with an _.
The observed behavior will be the same, except for bugs (disappearing, hopefully) and performance.
When declarations are deprecated but not removed and still functional, we consider it also
backward compatible, as the behavior is only observable when activating Python
DeprecationWarning, which is usually only activated in development.
With this in mind, libmambapy offers the following guarantees:
PATCHreleases are API backward compatible;MINORreleases are API backward compatible;MAJORreleases make no guarantees.
mamba and micromamba (executables)
For executables, the term backward compatible applies to programmable inputs and outputs and means that your code (including shell scripts) will work with newer versions of the executable without modifications. Programmable inputs/outputs include executable name, command line arguments, configuration files, environment variables, JSON command line outputs, and files created. It excludes human-readable output and error messages, and thus deprecation warnings written in the human-readable output.
With this in mind, mamba and micromamba offer the following guarantees:
PATCHreleases are backward compatible;MINORreleases are backward compatible;MAJORreleases make no guarantees.
Support us
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.).
License
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.
Biweekly Dev Meeting
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
Owner
- Name: Mamba
- Login: mamba-org
- Kind: organization
- Repositories: 39
- Profile: https://github.com/mamba-org
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
type: "software"
title: "mamba"
date-released: "2019-03"
authors:
- family-names: "QuantStack and Mamba Contributors"
given-names: ""
website: "https://github.com/mamba-org/mamba"
repository-code: "https://github.com/mamba-org/mamba"
url: "https://mamba.readthedocs.io/"
abstract: "Mamba is a fast, robust, and cross-platform package manager for the Conda ecosystem."
license: "BSD-3-Clause"
keywords:
- "package manager"
- "conda"
- "python"
- "dependency resolution"
- "cross-platform"
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Wolf Vollprecht | w****t@g****m | 753 |
| Antoine Prouvost | A****v | 403 |
| Adrien DELSALLE | a****e@g****m | 226 |
| Johan Mabille | j****e@g****m | 193 |
| Joël Lamotte (Klaim) | m****m@g****m | 134 |
| Hind-M | 7****M | 126 |
| Julien Jerphanion | g****t@j****z | 96 |
| Jonas Haag | j****s@l****g | 89 |
| David Brochart | d****t@g****m | 36 |
| Isuru Fernando | i****f@g****m | 27 |
| Ayaz Salikhov | m****u | 24 |
| Pavel Zwerschke | p****e@q****m | 19 |
| Mariana Meireles | m****a@p****e | 15 |
| jaimergp | j****p | 14 |
| Chris Burr | c****r@c****h | 14 |
| Ben Mares | s****1@t****m | 13 |
| Sandrine Pataut | p****e@g****m | 11 |
| Uwe L. Korn | u****n@q****m | 10 |
| Alex Franchuk | a****k@c****m | 10 |
| Madhur Tandon | m****3@i****n | 10 |
| Sylvain Corlay | s****y@g****m | 10 |
| Claudia Rogoz | c****z@p****m | 10 |
| martinRenou | m****u@g****m | 10 |
| John H. Ayad | j****7@g****m | 8 |
| Cornelius Roemer | c****r@g****m | 7 |
| Adrian Freund | a****d@q****m | 7 |
| Adam Ehlers Nyholm Thomsen | a****n@a****k | 6 |
| Ashwin Vishnu | 9****s | 6 |
| Bas Zalmstra | b****a@s****l | 6 |
| Marius van Niekerk | m****k@g****m | 6 |
| and 141 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 897
- Total pull requests: 1,286
- Average time to close issues: 11 months
- Average time to close pull requests: 20 days
- Total issue authors: 452
- Total pull request authors: 99
- Average comments per issue: 3.8
- Average comments per pull request: 1.17
- Merged pull requests: 939
- Bot issues: 12
- Bot pull requests: 10
Past Year
- Issues: 266
- Pull requests: 620
- Average time to close issues: 18 days
- Average time to close pull requests: 6 days
- Issue authors: 155
- Pull request authors: 46
- Average comments per issue: 1.73
- Average comments per pull request: 1.2
- Merged pull requests: 443
- Bot issues: 1
- Bot pull requests: 10
Top Authors
Issue Authors
- jonashaag (53)
- wolfv (41)
- corneliusroemer (35)
- Hind-M (30)
- jaimergp (28)
- jjerphan (14)
- maresb (14)
- opoplawski (13)
- pavelzw (13)
- JohanMabille (13)
- github-actions[bot] (12)
- abalter (10)
- mathbunnyru (10)
- dhirschfeld (9)
- shughes-uk (6)
Pull Request Authors
- AntoinePrv (333)
- jjerphan (231)
- Hind-M (196)
- JohanMabille (76)
- Klaim (73)
- mathbunnyru (50)
- jonashaag (29)
- SandrineP (27)
- holzman (16)
- jaimergp (12)
- corneliusroemer (11)
- dependabot[bot] (10)
- SylvainCorlay (8)
- cvanelteren (8)
- jchorl (7)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 7
-
Total downloads:
- homebrew 1,300 last-month
-
Total dependent packages: 13
(may contain duplicates) -
Total dependent repositories: 306
(may contain duplicates) - Total versions: 318
conda-forge.org: mamba
# Mamba, the Fast Cross-Platform Package Manager [](https://github.com/mamba-org/mamba/actions) [](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://mamba.readthedocs.io/en/latest) `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 `mamba` are 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 a bigger ecosystem to make scientific packaging more sustainable. You can read our [announcement blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23). The ecosystem also consists of `quetz`, an open source `conda` package server and `boa`, a fast `conda` package builder. ### Installation Please refer to the [`mamba` and `micromamba` installation guide](https://mamba.readthedocs.io/en/latest/installation.html) in the documentation. ### Additional features in Mamba and Micromamba `mamba` and `micromamba` come with features on top of stock `conda`. ### `repoquery` To efficiently query repositories and query package dependencies you can use `mamba repoquery` or `micromamba repoquery`. See the [repoquery documentation](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery) for details. ### Installing lock files `micromamba` can be used to install lock files generated by [conda-lock](https://conda-incubator.github.io/conda-lock/) without having to install `conda-lock`. Simply invoke e.g. `micromamba create -n my-env -f conda-lock.yml` with an environment lockfile named `*-lock.yml` or `*-lock.yaml`.
- Homepage: https://github.com/mamba-org/mamba
- License: BSD-3-Clause
-
Latest release: 1.0.0
published over 3 years ago
Rankings
conda-forge.org: libmambapy
# Mamba, the Fast Cross-Platform Package Manager [](https://github.com/mamba-org/mamba/actions) [](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://mamba.readthedocs.io/en/latest) `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 `mamba` are 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 a bigger ecosystem to make scientific packaging more sustainable. You can read our [announcement blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23). The ecosystem also consists of `quetz`, an open source `conda` package server and `boa`, a fast `conda` package builder. ### Installation Please refer to the [`mamba` and `micromamba` installation guide](https://mamba.readthedocs.io/en/latest/installation.html) in the documentation. ### Additional features in Mamba and Micromamba `mamba` and `micromamba` come with features on top of stock `conda`. ### `repoquery` To efficiently query repositories and query package dependencies you can use `mamba repoquery` or `micromamba repoquery`. See the [repoquery documentation](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery) for details. ### Installing lock files `micromamba` can be used to install lock files generated by [conda-lock](https://conda-incubator.github.io/conda-lock/) without having to install `conda-lock`. Simply invoke e.g. `micromamba create -n my-env -f conda-lock.yml` with an environment lockfile named `*-lock.yml` or `*-lock.yaml`.
- Homepage: https://github.com/mamba-org/mamba
- License: BSD-3-Clause
-
Latest release: 1.0.0
published over 3 years ago
Rankings
conda-forge.org: libmamba
# Mamba, the Fast Cross-Platform Package Manager [](https://github.com/mamba-org/mamba/actions) [](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://mamba.readthedocs.io/en/latest) `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 `mamba` are 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 a bigger ecosystem to make scientific packaging more sustainable. You can read our [announcement blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23). The ecosystem also consists of `quetz`, an open source `conda` package server and `boa`, a fast `conda` package builder. ### Installation Please refer to the [`mamba` and `micromamba` installation guide](https://mamba.readthedocs.io/en/latest/installation.html) in the documentation. ### Additional features in Mamba and Micromamba `mamba` and `micromamba` come with features on top of stock `conda`. ### `repoquery` To efficiently query repositories and query package dependencies you can use `mamba repoquery` or `micromamba repoquery`. See the [repoquery documentation](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery) for details. ### Installing lock files `micromamba` can be used to install lock files generated by [conda-lock](https://conda-incubator.github.io/conda-lock/) without having to install `conda-lock`. Simply invoke e.g. `micromamba create -n my-env -f conda-lock.yml` with an environment lockfile named `*-lock.yml` or `*-lock.yaml`.
- Homepage: https://github.com/mamba-org/mamba
- License: BSD-3-Clause
-
Latest release: 1.0.0
published over 3 years ago
Rankings
formulae.brew.sh: micromamba
Fast Cross-Platform Package Manager
- Homepage: https://github.com/mamba-org/mamba
- License: BSD-3-Clause
-
Latest release: 2.3.2
published 6 months ago
Rankings
anaconda.org: libmambapy
[](https://github.com/mamba-org/mamba/actions) [](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://mamba.readthedocs.io/en/latest) `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 `mamba` are 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 a bigger ecosystem to make scientific packaging more sustainable. You can read our [announcement blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23). The ecosystem also consists of `quetz`, an open source `conda` package server and `boa`, a fast `conda` package builder. Please refer to the [`mamba` and `micromamba` installation guide](https://mamba.readthedocs.io/en/latest/installation.html) 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](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery) for details. `micromamba` can be used to install lock files generated by [conda-lock](https://conda-incubator.github.io/conda-lock/) without having to install `conda-lock`. Simply invoke e.g. `micromamba create -n my-env -f conda-lock.yml` with an environment lockfile named `*-lock.yml` or `*-lock.yaml`.
- Homepage: https://github.com/mamba-org/mamba
- License: BSD-3-Clause
-
Latest release: 2.0.5
published about 1 year ago
Rankings
conda-forge.org: micromamba
- Homepage: https://github.com/mamba-org/mamba
- License: BSD-3-Clause AND MIT AND OpenSSL
-
Latest release: 2.3.2
published 6 months ago
Rankings
anaconda.org: libmamba
[](https://github.com/mamba-org/mamba/actions) [](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://mamba.readthedocs.io/en/latest) `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 `mamba` are 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 a bigger ecosystem to make scientific packaging more sustainable. You can read our [announcement blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23). The ecosystem also consists of `quetz`, an open source `conda` package server and `boa`, a fast `conda` package builder. Please refer to the [`mamba` and `micromamba` installation guide](https://mamba.readthedocs.io/en/latest/installation.html) 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](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html#repoquery) for details. `micromamba` can be used to install lock files generated by [conda-lock](https://conda-incubator.github.io/conda-lock/) without having to install `conda-lock`. Simply invoke e.g. `micromamba create -n my-env -f conda-lock.yml` with an environment lockfile named `*-lock.yml` or `*-lock.yaml`.
- Homepage: https://github.com/mamba-org/mamba
- License: BSD-3-Clause
-
Latest release: 2.0.5
published about 1 year ago
Rankings
Dependencies
- JasonEtco/create-an-issue 1a16035489d05041b9af40b970f02e301c52ffba composite
- actions/checkout v3 composite
- hendrikmuhs/ccache-action main composite
- mamba-org/setup-micromamba v1 composite
- actions/checkout v3 composite
- mamba-org/setup-micromamba v1 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- hendrikmuhs/ccache-action main composite
- ilammy/msvc-dev-cmd v1 composite
- mamba-org/setup-micromamba v1 composite
- uraimo/run-on-arch-action v2 composite
- cli11 *
- curl *
- fmt *
- libarchive *
- libsolv *
- nlohmann-json *
- reproc *
- spdlog *
- tl-expected *
- vcpkg-cmake *
- vcpkg-cmake-config *
- winreg *
- yaml-cpp *
- zstd *
- actions/cache/restore v3 composite
- actions/cache/save v3 composite
- ./.github/actions/workspace * composite
- actions/checkout v4 composite
- hendrikmuhs/ccache-action main composite
- mamba-org/setup-micromamba v1 composite
- ./.github/actions/workspace * composite
- actions/checkout v4 composite
- hendrikmuhs/ccache-action main composite
- mamba-org/setup-micromamba v1 composite
- actions/checkout v2 composite