• Stars
    star
    6,027
  • Rank 6,326 (Top 0.2 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created about 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Fast Cross-Platform Package Manager

mamba header image

The Fast Cross-Platform Package Manager

part of mamba-org
Package Manager mamba Package Server quetz Package Builder boa

mamba

Build Status Join the Gitter Chat docs

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. 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 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 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 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 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 for details.

Development installation

Please refer to the instructions given by the official documentation.

Support us

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.

More Repositories

1

quetz

The Open-Source Server for Conda Packages
Python
262
star
2

gator

Conda environment and package management extension from within Jupyter
TypeScript
254
star
3

boa

The fast conda package builder, based on mamba
Python
248
star
4

micromamba-docker

Rapid builds of small Conda-based containers using micromamba.
Shell
243
star
5

rattler

Rust crates to work with the Conda ecosystem.
Rust
190
star
6

resolvo

Fast package resolver written in Rust (CDCL based SAT solving)
Rust
127
star
7

setup-micromamba

GitHub Action to set up micromamba
TypeScript
86
star
8

provision-with-micromamba

[DEPRECATED] Use setup-micromamba instead
JavaScript
74
star
9

vscode-micromamba

A VSCode extension to generate development environments using micromamba and conda-forge package repository
TypeScript
69
star
10

rhumba

The R package manager that is blazingly fast ⚑. Powered by mamba.
C++
68
star
11

micromamba-releases

Micromamba executables mirrored from conda-forge as Github releases
Python
42
star
12

micromamba-devcontainer

A micromamba-based VS Code development container image.
Shell
34
star
13

setup-mamba

A GitHub action for setting up the Mamba package manager
TypeScript
20
star
14

picomamba

Minimalistic, experimental mamba, compiles to WASM
Python
16
star
15

multisheller

Python
15
star
16

powerloader

C++
15
star
17

minirhumba

Mini installer that contains everything that's necessary to run rhumba
Shell
14
star
18

mamba-navigator

A web UI for exploring Mamba environments
TypeScript
12
star
19

monstructor

The mamba constructor
C++
11
star
20

boa-forge

New style recipes for boa, with features enabled
Python
11
star
21

ansible-role-micromamba

Install micromamba, and optionally create a base conda environment.
9
star
22

quetz-frontend

Quetz Frontend
TypeScript
8
star
23

rattler-server

A server that solves environments using rattler!
Rust
7
star
24

quetz-client

A Python client for Quetz.
Python
5
star
25

build-locally-ansible

Build locally (in the cloud) with Ansible
Jinja
4
star
26

devcontainer-features

Shell
4
star
27

bitfurnace

Cross platform build helpers for conda-forge
Python
3
star
28

conda-specs

A collection of specs, and spec proposals for Mamba packages, recipes and repositories
3
star
29

design

Design resources
3
star
30

cmake-micromamba

Install dependencies using micromamba directly from a CMake script
CMake
2
star
31

quetz-theme

A dark-yellow theme for JupyterLab and Quetz
CSS
2
star
32

libcred

Cross-platform secure credential storage - port of keytar to pure C++ library
C++
2
star
33

conda_oci_mirror

Tools to mirror conda packages to an OCI registry
Python
1
star
34

quetz-plugin-cookiecutter

cookiecutter template for quetz plugins
Python
1
star