# mamba-org/mamba

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mamba-org-mamba).**

7,915 stars · 431 forks · C++ · bsd-3-clause

## Links

- GitHub: https://github.com/mamba-org/mamba
- Homepage: https://mamba.readthedocs.io
- awesome-repositories: https://awesome-repositories.com/repository/mamba-org-mamba.md

## Topics

`conda` `cpp` `package-manager` `python`

## Description

Mamba is a package manager for scientific and data science workflows that implements a high-performance dependency solver in C++. It uses a SAT-based resolution model and a specialized library for metadata processing to calculate compatible package versions across different operating systems.

The project provides a standalone executable runtime, allowing the creation of isolated package environments without requiring a pre-existing system installation. It ensures reproducible environment setup by utilizing lock files to pin exact package versions and channels.

The system supports containerized deployment and execution to prevent host system contamination and facilitate consistent behavior across platforms. It also includes capabilities for bootstrapping continuous integration environments and executing commands within isolated software environments.

## Tags

### Development Tools & Productivity

- [Package Dependency Managers](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers.md) — Implements a high-performance dependency solver for resolving, installing, and updating software package dependencies. ([source](https://mamba.readthedocs.io/en/latest))
- [Package Metadata Querying](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/package-metadata-querying.md) — Uses the libsolv library to parse and query structured package metadata for rapid dependency graph construction.
- [Remote Repository Querying](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/package-metadata-querying/remote-repository-querying.md) — Retrieves package details and dependency relationships by querying structured metadata from remote software repositories.
- [SAT-Based Solvers](https://awesome-repositories.com/f/development-tools-productivity/package-dependency-managers/sat-based-solvers.md) — Uses a C++ implementation of a SAT-based resolution model to calculate compatible package versions quickly. ([source](https://cdn.jsdelivr.net/gh/mamba-org/mamba@main/README.md))
- [Package Installers](https://awesome-repositories.com/f/development-tools-productivity/package-installers.md) — Creates reproducible environments by installing specific package versions as defined in lock files. ([source](https://cdn.jsdelivr.net/gh/mamba-org/mamba@main/README.md))
- [Standalone Installers](https://awesome-repositories.com/f/development-tools-productivity/package-installers/standalone-installers.md) — Creates isolated package environments using a standalone executable that does not require a pre-existing system installation. ([source](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html))
- [Environment Bootstrapping](https://awesome-repositories.com/f/development-tools-productivity/environment-bootstrapping.md) — Accelerates continuous integration pipelines by bootstrapping a standalone package manager and caching environments. ([source](https://cdn.jsdelivr.net/gh/mamba-org/mamba@main/README.md))
- [Isolated Execution Environments](https://awesome-repositories.com/f/development-tools-productivity/isolated-execution-environments.md) — Executes specific tasks or scripts within designated isolated environments without requiring manual shell activation. ([source](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html))
- [Lock Files](https://awesome-repositories.com/f/development-tools-productivity/lock-files.md) — Records the exact version and channel of every installed package in a static lock file for reproducibility.
- [Reproducible Build Environments](https://awesome-repositories.com/f/development-tools-productivity/reproducible-build-environments.md) — Builds reproducible software environments using text or lock files to ensure consistency across platforms. ([source](https://mamba.readthedocs.io/en/latest/user_guide/mamba.html))

### DevOps & Infrastructure

- [Solver Library Integrations](https://awesome-repositories.com/f/devops-infrastructure/dependency-resolution/library-version-resolution/solver-library-integrations.md) — Leverages the specialized libsolv library to calculate compatible package versions through metadata graphs.
- [Lock-File Pinning](https://awesome-repositories.com/f/devops-infrastructure/reproducible-environments/lock-file-pinning.md) — Ensures reproducible environment setups by utilizing lock files to pin exact package versions and channels.
- [Standalone Binaries](https://awesome-repositories.com/f/devops-infrastructure/standalone-binaries.md) — Bundles the package manager into a single executable to allow usage without a pre-existing system installation.
- [CI Pipeline Optimizers](https://awesome-repositories.com/f/devops-infrastructure/ci-pipeline-optimizers.md) — Accelerates continuous integration workflows by bootstrapping standalone package managers and caching pre-built environments.
- [Dependency Lock Files](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/dependency-lock-files.md) — Ensures reproducible setups by pinning exact package versions and channels within dedicated lock files.
- [Container Command Execution](https://awesome-repositories.com/f/devops-infrastructure/container-command-execution.md) — Executes installation and runtime commands within pre-configured container images to prevent host system contamination.
- [Container Deployment](https://awesome-repositories.com/f/devops-infrastructure/container-deployment.md) — Uses pre-configured container images containing the environment and package manager for consistent deployment. ([source](https://mamba.readthedocs.io/en/latest/installation/mamba-installation.html))
- [Containerized Deployments](https://awesome-repositories.com/f/devops-infrastructure/containerized-deployments.md) — Supports deployment via pre-configured container images to ensure consistent behavior across different platforms.

### Programming Languages & Runtimes

- [C++ Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/systems-languages/c/algorithm-libraries/c-implementations/c-implementations.md) — Utilizes a C++ core implementation to move computationally heavy dependency solving for significant performance gains.

### Software Engineering & Architecture

- [SAT Solvers](https://awesome-repositories.com/f/software-engineering-architecture/backtracking-algorithms/sat-solvers.md) — Implements a high-performance SAT solver in C++ to resolve complex package dependency trees.
- [Standalone Runtime Bundling](https://awesome-repositories.com/f/software-engineering-architecture/embedded-runtimes/standalone-runtime-bundling.md) — Provides a standalone runtime bundling that allows environment creation without a pre-existing system installation.
- [SAT-Based Dependency Resolution](https://awesome-repositories.com/f/software-engineering-architecture/sat-based-dependency-resolution.md) — Calculates compatible package versions by mapping dependency constraints to a boolean satisfiability problem.

### Part of an Awesome List

- [Package Managers](https://awesome-repositories.com/f/awesome-lists/devtools/package-managers.md) — High-performance alternative to standard package managers.
