I see a lot of posts here worried particularly about uv as a foundational Python packaging tool, I think it’s worth taking a step back and looking at what it offers that are people are worried about, and considering investing directly in existing tooling to help catch up:
-
Speed installing packages: This is significantly driven from uv’s cache mechanism, where packages are installed to a cache and then linked to inside a venv, that could be added to pip, or your Python package managers of your choice.
-
Fast metadata/version handling: well we’ve been making significant progress in
packagingto speed up metadata handling, 26.0 significiantly improved things and since then Henry added automatic benchmarking and we’ve made even more progress on performance. Before 26.2 I plan to land a new implementation of filtering Versions which for complex specifiers should be more than 10x faster. And there’s a lot more that could be done, an option for a global Version cache, native code implementations, have the standard library provide very stable parts of Version parsing, PRs welcome. This benefits all tools that usepackaging. -
More advanced resolver algorithm: I’m working directly on this right now to help pip catch up here. I hoping to integrate this directly into
resolvelib, but it’s possible we will need a new resolver library. I am working on speed, but there is also the aspect of “universal” resolution, which is what may require a new library. -
Lock files: We have a standard lockfiles that pip can generate, then next step is being able to install from them, work is progressing there also.
-
Syncing: pip-tools offers this but I think pip should have native support, especially with lock files, an issue is open and I would review a PR or eventually add it myself.
-
Workflows: This is already provided by many tools for different use cases, such as Poetry, hatch, pdm, etc.
-
All in one tool: Some of the workflow tools are already all in one, but nothing stops someone from wrapping the libraries they think are best into a single CLI.
I’m not suggesting people stop using uv or investing into it, I’m just not so sure it’s the only tool that offers most of those conveniences, or that we couldn’t fairly quickly add those conveniences.