Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsApr 27, 2026·3 min de lecture

Mamba — Fast Cross-Platform Package Manager

A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.

Introduction

Mamba is a reimplementation of the conda package manager in C++ using the libsolv dependency solver. It provides the same CLI interface and channel compatibility as conda while delivering 10-50x faster environment resolution and parallel package downloads.

What Mamba Does

  • Resolves package dependencies using the SAT-based libsolv library for near-instant solves
  • Downloads packages in parallel with multi-threaded HTTP fetches
  • Creates, updates, and removes conda-compatible environments
  • Reads environment.yml and conda-lock files for reproducible setups
  • Ships as micromamba — a statically linked single binary with no Python dependency

Architecture Overview

Mamba replaces conda's Python solver with libsolv, a C library originally built for RPM/APT that uses Boolean satisfiability to resolve dependencies. Package metadata is fetched and cached in a binary repodata format for fast reloads. Downloads use libcurl with connection pooling and parallel transfers. micromamba embeds the entire stack in one static binary, eliminating the need for a base conda installation.

Self-Hosting & Configuration

  • Install micromamba via the official shell script or Homebrew
  • Use micromamba create -n env -c conda-forge to create environments
  • Configure default channels and settings in ~/.mambarc or ~/.condarc
  • Export environments with micromamba env export for reproducibility
  • Integrates with conda-lock for deterministic cross-platform lockfiles

Key Features

  • 10-50x faster dependency resolution than conda
  • Parallel multi-threaded package downloads
  • Full conda compatibility — same channels, same package format
  • micromamba: single static binary, no Python runtime needed
  • Supports environment.yml, conda-lock, and explicit spec files

Comparison with Similar Tools

  • conda — the original; same ecosystem but significantly slower solver and serial downloads
  • uv — ultra-fast pip replacement for PyPI packages; does not support conda channels
  • pixi — Rust-based conda-compatible manager with project-level lockfiles and task runner
  • poetry — Python dependency manager for PyPI; no support for conda-forge or non-Python packages
  • Spack — HPC-focused package manager that builds from source; different target audience

FAQ

Q: Is mamba a full replacement for conda? A: Yes. Mamba and micromamba implement the same CLI commands and read the same configuration files. You can switch without changing workflows.

Q: What is micromamba? A: A standalone statically linked binary that provides the mamba CLI without requiring a base conda installation or Python interpreter.

Q: Does mamba work with conda-forge? A: Yes. It uses the same channel infrastructure and repodata format as conda.

Q: Can I use mamba in CI/CD pipelines? A: Yes. micromamba is ideal for CI because it installs in seconds and has no bootstrapping dependency.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires