nextflow icon indicating copy to clipboard operation
nextflow copied to clipboard

Deprecate the support for Mamba/Micromamba

Open pditommaso opened this issue 2 years ago • 2 comments

Nextflow provides built-in support for Conda package manager to setup the task environment.

However, Conda can be considerably slow in resolving the package dependencies, for this reason alternative tools such as mamba and micromamba have been emerged to provide a faster resolution.

Nextflow supports also those tools, however this adds extra complexity in the underlying implementation.

Considering that now Conda does support the use of libmamba directly for the package resolution, this ticker aims to deprecate the direct support for Mamba and Micromamba in Nextflow considering this capability can be enabled by the user in the Conda toolset.

See here for more details https://www.anaconda.com/blog/a-faster-conda-for-a-growing-community

pditommaso avatar Oct 31 '23 15:10 pditommaso

Just want to cast my vote against dropping mamba/micromamba support (at least for the time being), since mamba/micromamba (both using libmamba's locking infrastructure) allow parallel environment creation, whereas you currently get pkg cache corruption errors using conda (see https://github.com/conda/conda/issues/13037). Conda has had github issues requesting this feature for years and currently I see no indications it's coming any time soon. Since micromamba support is currently broken but easily fixed with https://github.com/nextflow-io/nextflow/pull/4302, I would additionally suggest that you consider merging that PR.

It's easy to run into this problem (launch two pipelines on the same machine that both involve conda environment creation as the first step; it'll work if useMicromamba or useMamba is enabled but fail if conda is used) and quite tricky to diagnose (googling the CondaVerificationError message doesn't turn up anything useful).

https://github.com/nextflow-io/nextflow/pull/4253 solves this problem within a single nextflow (unix) process but if you're running multiple nextflow (unix) processes (e.g., as is common on academic HPC), you'll risk running into this issue.

shenker avatar Jun 11 '24 10:06 shenker

Maybe also consider that the mamba license is "better" in some cases.

tbugfinder avatar Jun 11 '24 19:06 tbugfinder

in my hands micromamba is still much faster than conda even with libmamba. Maybe it's worth adding some timing to a test of both with installation of e.g. multiqc to see when micromamba can be dropped with little performance impact?

bwlang avatar Dec 25 '24 07:12 bwlang

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jun 27 '25 04:06 stale[bot]