mamba
Manage conda environments and packages
TLDR
Create a new environment, installing the specified packages into it
Install packages into the current environment, specifying the package channel
Update all packages in the current environment
Search for a specific package across repositories
List all environments
Remove unused [p]ackages and [t]arballs from the cache
Activate an environment
List all installed packages in the currently activated environment
SYNOPSIS
mamba [global options]
PARAMETERS
install
Installs packages into an environment.
update
Updates packages in an environment.
remove
Removes packages from an environment.
create
Creates a new environment.
list
Lists packages in an environment.
search
Searches for packages in available channels.
env create
Creates an environment from an environment.yml file.
-n, --name ENV_NAME
Name of the environment to use.
-y, --yes
Do not ask for confirmation.
-c, --channel CHANNEL
Channel to search for packages. Can be specified multiple times.
--prefix PATH
Full path to environment location (instead of using 'name').
--offline
Don't connect to the internet.
DESCRIPTION
Mamba is a fast, robust, and cross-platform package manager. It is a reimplementation of the conda package manager in C++. Mamba aims to provide a significantly faster experience, especially when solving complex dependency graphs. It is fully compatible with conda packages, environments, and most of its commands. This allows users to seamlessly transition to using mamba for everyday package management tasks like installing, updating, and removing packages. The main benefit of mamba is its parallel package downloads and constraint solving, which considerably reduces the time required to manage environments, especially for large projects with numerous dependencies.
Mamba provides a command-line interface (CLI) similar to conda, making it easy for existing conda users to adapt. It also offers improved error reporting and enhanced user experience, contributing to a more efficient workflow for managing software packages and dependencies.
CAVEATS
While largely compatible, certain less common conda features might not be fully implemented in mamba. Always test critical workflows to ensure desired behavior.
CHANNELS
Mamba uses channels to locate packages. Common channels include 'defaults', 'conda-forge', and others. Specifying the correct channels is crucial for finding the desired packages.
ENVIRONMENTS
Mamba environments allow you to isolate project dependencies. Creating separate environments prevents conflicts between different projects using different versions of the same packages.
HISTORY
Mamba was created to address performance bottlenecks in conda's dependency solving process. Its development focused on leveraging C++ for faster execution and parallelization. The project has gained significant traction in the scientific computing and data science communities due to its speed and reliability, becoming a preferred alternative to conda for many users. The development is lead by QuantStack and has many contributors from the conda-forge community.