Right now, MEDomics uses Conda and Pip / the two most known Python package managers I'd say; to sort out dependencies and manage environments, and they’ve been doing a good job so far. However, the Python packaging world has improved a lot over the past few years, and there’s a new set of tools that might give us some real benefits over what we’ve got.
uv, created by Astral (https://astral.sh/), is a modern (I like to call it the beast!) Python package manager and environment resolver that’s considered SOTA in the industry. It’s much, very much!, quicker than Pip when we’re doing typical tasks, and the benchmarks really show that (See below). Besides being fast, uv takes care of virtual environments in the background, so we don’t have to manually activate them. This also helps avoid some environment-consistency problems that often pop up with Conda.
It might be a good idea to look into uv as a way to replace our current package management system.
It does not affect the user side of things, but it really makes things easier for (us!) developers.
References
Notes
Happy to contribute on this one, just let me know 👌
Right now, MEDomics uses Conda and Pip / the two most known Python package managers I'd say; to sort out dependencies and manage environments, and they’ve been doing a good job so far. However, the Python packaging world has improved a lot over the past few years, and there’s a new set of tools that might give us some real benefits over what we’ve got.
uv, created by Astral (https://astral.sh/), is a modern (I like to call it the beast!) Python package manager and environment resolver that’s considered SOTA in the industry. It’s much, very much!, quicker than Pip when we’re doing typical tasks, and the benchmarks really show that (See below). Besides being fast,uvtakes care of virtual environments in the background, so we don’t have to manually activate them. This also helps avoid some environment-consistency problems that often pop up with Conda.It might be a good idea to look into
uvas a way to replace our current package management system.It does not affect the user side of things, but it really makes things easier for (us!) developers.
References
Notes
Happy to contribute on this one, just let me know 👌