Skip to content

Modernise Python Package Manager #558

Description

@simonprovost

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

uv installation speed benchmark

Notes

Happy to contribute on this one, just let me know 👌

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions