Skip to content
Artwork for My Weird Prompts
My Weird Prompts · October 10 · 31 min

Why pip and uv Share Almost No Code

pip has been the default Python installer for over a decade, but its resolver was naive for most of that time and it only got a lockfile story in 2025. uv arrived in 2024 as a single static Rust binary with no Python inside it at all — so how does it relate to pip? This episode traces pip's origin from Ian Bicking's pyinstall through the PyPA handoff to the 2020 resolver rewrite, unpacks where the npm comparison holds and where it breaks, and answers the question directly: uv doesn't wrap pip, it reimplements the standards from scratch. The real speed story turns out to be about parallel resolution, concurrent builds, and a hardlink cache — design decisions, not the language. Key sources: • Astral, 2024-02-15 — https://astral.sh/blog/uv • uv docs, resolver internals — https://docs.astral.sh/uv/reference/internals/resolver/ • uv docs, pip compatibility — https://github.com/astral-sh/uv/blob/main/docs/pip/compatibility.md Episode 5843 — myweirdprompts.com/n/5843 (permanent short link: myweirdprompts.com/660156)

0:00 · Intro-31:23

transcript

No transcript — this publisher did not publish one.

show notes

pip has been the default Python installer for over a decade, but its resolver was naive for most of that time and it only got a lockfile story in 2025. uv arrived in 2024 as a single static Rust binary with no Python inside it at all — so how does it relate to pip? This episode traces pip's origin from Ian Bicking's pyinstall through the PyPA handoff to the 2020 resolver rewrite, unpacks where the npm comparison holds and where it breaks, and answers the question directly: uv doesn't wrap pip, it reimplements the standards from scratch. The real speed story turns out to be about parallel resolution, concurrent builds, and a hardlink cache — design decisions, not the language.

Key sources:
• Astral, 2024-02-15 — https://astral.sh/blog/uv
• uv docs, resolver internals — https://docs.astral.sh/uv/reference/internals/resolver/
• uv docs, pip compatibility — https://github.com/astral-sh/uv/blob/main/docs/pip/compatibility.md

Episode 5843 — myweirdprompts.com/n/5843 (permanent short link: myweirdprompts.com/660156)

chapters

5 chapters