Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mamba-org/mamba
The Fast Cross-Platform Package Manager
https://github.com/mamba-org/mamba
conda cpp package-manager python
Last synced: 11 days ago
JSON representation
The Fast Cross-Platform Package Manager
- Host: GitHub
- URL: https://github.com/mamba-org/mamba
- Owner: mamba-org
- License: bsd-3-clause
- Created: 2019-03-05T13:05:10.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-01T18:59:48.000Z (6 months ago)
- Last Synced: 2024-05-02T00:24:50.491Z (6 months ago)
- Topics: conda, cpp, package-manager, python
- Language: C++
- Homepage: https://mamba.readthedocs.io
- Size: 8.97 MB
- Stars: 6,279
- Watchers: 46
- Forks: 335
- Open Issues: 505
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- stars - mamba-org/mamba - Platform Package Manager (HarmonyOS / Windows Manager)
- awesome-list - mamba - The Fast Cross-Platform Package Manager. (Package Management / For Python)
- best-of-python-dev - GitHub - 30% open · ⏱️ 28.05.2024): (Dependency & Package Managers)
- awesome-econ - mamba - in replacement for conda that is faster. (Maintaining environments)
README
![mamba header image](docs/assets/mamba_header.png)
## The Fast Cross-Platform Package Manager
part of mamba-org
Package Manager mamba
Package Server quetz
Package Builder boa
# mamba
[![Build Status](https://github.com/mamba-org/mamba/workflows/CI/badge.svg)](https://github.com/mamba-org/mamba/actions)
[![Join the Gitter Chat](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/mamba-org/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![docs](https://readthedocs.org/projects/mamba/badge/?version=latest&style=flat)](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 efficiencyAt 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](https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html) and [micromamba](https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html) 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](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.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`.
### setup-micromamba (setup-miniconda replacement)
[setup-micromamba](https://github.com/marketplace/actions/setup-micromamba) is a replacement for [setup-miniconda](https://github.com/marketplace/actions/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 `conda` environments.## micromamba
`micromamba` is a small, pure-C++ reimplementation of `mamba`/`conda`. It strives to be a full replacement for `mamba` and `conda`. As such, it doesn't use any `conda` code (in fact it doesn't require Python at all).
See the [documentation on `micromamba`](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html) for details.
## Development installation
Please refer to the instructions given by the [official documentation](https://mamba.readthedocs.io/en/latest/developer_zone/dev_environment.html).
## Support us
For questions, you can also join us on the [QuantStack Chat](https://gitter.im/QuantStack/Lobby) or on the [Conda channel](https://gitter.im/conda/conda) (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](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)](https://calendar.google.com/calendar/u/0/[email protected]&ctz=Europe/Paris)
- Where: [Mamba jitsi](https://meet.jit.si/mamba-org)
- What: [Meeting notes](https://hackmd.io/@guj2k_aBSSyr1YHBG9raWw/HyHt-Ekzj)