Mamba mature enough?

Hi All,

The Project Pythia team is considering revising training documents to recommend (and document) using mamba instead of conda. Is mamba now mature/stable enough? What do people think?

I’ve been using mamba for quite a while now. Feels very stable. Projects like xarray are using it (in place of conda) for its CI.

4 Likes

I agree. I’ve been using mamba for all my python projects for a while, and I really like mamba. Feels rock solid to me.

Mamba is so stable that mamba’s solver, libmamba, is an optional solver in conda itself. For those who to do want to change lots of instructions you can teach folks to update their conda and do:

conda install --name base conda-libmamba-solver --yes
conda config --set solver libmamba

That makes conda/mamba identical to one another. However, for CIs and folks who are feeling more adventurous, I recommend micromamba. Micromamba also uses the same solver but it is faster than both conda/mamba in pretty much everything else too.

6 Likes

+1 on micromamba; have yet to run into any serious issues with it.

1 Like

Echoing everyone else’s comments here about reliability with Mamba, I’ve been running it as my default for over a year and I haven’t had any problems with Mamba itself.

Something to consider is that installing mamba onto a base Anaconda install is not officially recommended (Installation — documentation) and is something I’ve had trouble with recently. Since Anaconda ships with a lot of packages already installed, and since mamba requires conda-forge, doing a conda install -c conda-forge mamba onto a fresh Anaconda base environment has failed for me recently, and it seems like I’m not the only one: libarchive conflict: Cannot install mamba on a clean Anaconda install · Issue #2086 · mamba-org/mamba · GitHub and mamba install failure with current (fresh) anaconda install · Issue #1735 · mamba-org/mamba · GitHub

If you’re going to recommend mamba, I would also recommend mambaforge instead of Anaconda GitHub - conda-forge/miniforge: A conda-forge distribution.

Really, if you’re installing stuff from conda-forge, you should at most be using miniconda. Mixing conda-forge and defaults packages in the same environment is unsupported. These days it’s miniforge (conda-based using conda-forge channel) or mambaforge (mamba-based) for me.

3 Likes

@clyne it would be really helpful to use mamba for the kerchunk cookbook (xref Update environment setup instructions to use mamba · Issue #26 · ProjectPythia/kerchunk-cookbook · GitHub). Do you have any concerns with us updating the instructions for that cookbook or do you prefer to wait for an organization-wide migration?

1 Like

Thanks for all the input. We’ve decided that moving forward we will recommend mamba

Want to belatedly contribute to this discussion and second everyone’s support for transitioning to mamba with emphasis on @lsterzinger’s warnings, based on this discussion that highlights potential channel issues if you try to add mamba (which only uses conda-forge) to any kind of conda install that didn’t have conda-forge as the default channel.