I recently became a packaging maintainer, from working on fixing edge case behavior around specifiers and prerelease versions.
When I did some recent profiling I noticed that A LOT of time was being spent in packaging, largely parsing version strings. I found a few places in pip and packaging that reduced the number of Version objects being created, Henry really ran with the idea of improving performance and made big improvements. I'm excited for this to be vendored in pip 26.0 coming out at the end of January.
If anyone is interested the next big improvement for pip is likely to implement a real CDCL (Conflict-Driven Clause Learning) resolver algorithm, like uv's use of pubgrub-rs. That said, I do this in my spare time so it may be a year or more before I make any real traction on implementing that.
zahlman•10h ago
"Python's packaging library" in the title means the library actually called `packaging`. This is an important vendored component of pip and also gets used by other tools, such as the various build backends and the reference `build` frontend. So quite a few people will benefit, non-obviously.