~/talk

Building an extremely fast Python package manager, in Rust

Talkat EuroRust 2024 · 2024-10-10..10-11· [rust, python]
slides:none on file

uv claims orders-of-magnitude speedups while serving over ten million downloads per month and implements a full resolver and installer in Rust that actually works at scale. It uses a pubgrub SAT solver with domain optimizations, a compact u64 version encoding that yields 3–4x faster comparisons, async Tokio single-threaded IO and careful thread orchestration, and a global cache of unpacked archives served via reflinks and hardlinks to enable zero-copy tricks and massively cheaper installs.

AI-written summary · about

  1. 0:00UV and Astral intro
  2. 1:49Building a new package manager
  3. 5:00Python vs Rust packaging
  4. 7:44Multiversion support challenges
  5. 8:06Platform dependency markers
  6. 11:14Native code challenges
  7. 13:40Python ecosystem history
  8. 14:44Rust powers UV success
  9. 15:06Safety in Rust
  10. 15:48Rust portability
  11. 17:54Rust performance advantage
  12. 18:37Optimizing version parsing
  13. 23:16Async IO and runtime
  14. 25:02SAT solvers for deps
  15. 27:11UV global cache design
  16. 29:15Rust’s impact on UV
  17. 30:17Conclusion and future
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.