29

Mamba markets itself as a faster direct drop-in replacement for Conda. How could using Mamba instead of Conda as package manager for Anaconda be problematic?

Will Da Silva
  • 6,386
  • 2
  • 27
  • 52
user3848207
  • 3,737
  • 17
  • 59
  • 104

1 Answers1

47

I'm happy to inform you that there essentially are no strict disadvantages to using Mamba! It began in March 2019 as a thin wrapper around Conda, and has grown considerably by progressively rewriting Conda with equivalent new efficient C++ code. They've added Mamba exclusive features such as mamba repoquery. Both Conda and Mamba use a BSD 3-Clause license, so no difference there. Like Conda, Mambda has good cross-platform support. All that said, there are a few caveats to note:

  • Mamba is relatively new and unpopular compared to Conda. That means there are probably more undiscovered bugs, and that new bugs may take longer to be discovered. That said, the agility displayed by the Mamba developers makes me think they'd probably fix newly discovered bugs faster.
  • There are a considerable number of known bugs, although that's also true of Conda.
  • Some of the aforementioned bugs are inconsistencies between Mamba and Conda. As Mamba is a rewrite of Conda, you can't be sure that you'll get exactly the same behaviour from it as you would from Conda. You can be the judge of how much this matters to you. Most Mamba users will never run into one of these inconsistencies.
  • If you use Mamba, run into a bug, and report it, then those who are handling your bug report might not appreciate you using a package manager that they don't officially support. This will probably become less of an issue as time goes on.
  • If you use Mamba inside of scripts (e.g. shell scripts, makefiles, etc.), then users of those scripts may run into problems if they have Conda but not Mamba. For most cases they'll simply be able to replace the command conda with mamba, but if you use exclusive Mamba features, they'll have to install mamba.
  • Some organizations have approved the use of Conda, but not Mamba. In the scenario described above, this would mean users from these organizations would have to rewrite all of the mamba commands with conda (i.e. installing Mamba isn't an option for these users unless they want to wait for their legal team and such to approve the use of Mamba), and if you use exclusive Mamba features, then they're just out of luck, and won't be able to run those commands.
  • EDIT (2022-10-30): Previously the relative lack of institutional backing for Mamba was noted here, but in the time since this answer was initially written Mamba has received a great deal more support, and now I would consider this a non-issue.

All in all, these are fairly minor issues. I expect Mamba will continue to grow in popularity as time goes on, and may even have its code integrated into Conda in the future.

Vladislav Povorozniuc
  • 2,149
  • 25
  • 26
Will Da Silva
  • 6,386
  • 2
  • 27
  • 52
  • 1
    The first bullet is important. Its conflict detection isn't on par with conda's; it may proceed with installing incompatible packages, speaking from experience. – OverLordGoldDragon Jun 19 '21 at 03:02
  • Upvoted your asnwer. I personally have migrated over to Mamba. Mamba is particularly fast at removing huge packages. Noticeably faster. – user3848207 Jun 19 '21 at 06:10
  • 4
    "*Mamba doesn't have the institutional backing that Conda does*" - I had the impression [the QuantStack blog post](https://medium.com/@QuantStack/open-software-packaging-for-science-61cecee7fc23) was the announcement of their institutional support. RE: adoption: [the Conda Forge devs are exploring Mamba](https://github.com/conda-forge/conda-smithy/search?q=mamba&type=commits) on their CI infrastructure for their package building. And in bioinformatics, Snakemake (v6.1.0) made Mamba their default frontend for Conda environments. Seems very unlikely to stall out. – merv Jun 21 '21 at 05:47
  • @merv From the article you linked: "The development of Mamba at QuantStack was funded by Bloomberg. The development of Quetz and Boa is self-funded by QuantStack." Sounds pretty solid, but perhaps not as robust/varied as what Conda has. Hard to say as an outsider to both organizations. I've updated the answer to reflect Mamba's institutional support. – Will Da Silva Jun 21 '21 at 05:55
  • 2
    Mamba now receives funding from the [Chan Zuckerberg Initiative](https://wolfv.medium.com/the-mamba-project-and-the-czi-grant-ec88fb27c25). It has also been endorsed by the [(ana)conda team](https://www.anaconda.com/blog/a-faster-conda-for-a-growing-community). I think in the past year mamba has become more and more stable and used by more and more orgs. Maybe you could further update your answer - it's great otherwise. By now I also doubt it's less popular than conda, everyone I know uses mamba now. – Cornelius Roemer Oct 28 '22 at 15:54
  • @CorneliusRoemer Thanks for pointing that out. I have updated the answer accordingly. – Will Da Silva Oct 30 '22 at 14:52
  • Should we install mamba as an external program or as a package through conda? – skan Jan 02 '23 at 12:00
  • 1
    @skan Installing mamba using conda is not recommended. Mambaforge or micromamba should be used instead. The official installation instructions can be found at https://mamba.readthedocs.io/en/latest/installation.html – Will Da Silva Jan 02 '23 at 17:01
  • will try to migrate to mamba soo as it is always hectic to install latest library at the same time retaining the same old installer. it is hectic. hope its working for my workstation with window 10 – Azam Jul 15 '23 at 01:17