• Sources: pull request, discussion
  • Summary: Charlie Marsh opened the change on 2026-08-27 and merged it on 2026-08-31. uv previously deduplicated whole wheels only, so identical files inside or across wheels each got their own copy, and every file is now stored under its BLAKE3 hash in a files-v0 bucket and hardlinked back into archive-v0, leaving installation unchanged, with cache cleanup deleting an object once its hardlink count drops to one. On the author's machine deduplicating all payload files recovered 545.2 MiB by hardlinking 134,222 files onto 87,129 distinct objects, at a measured cold-install cost with median changes of 3.39 percent for AnyIO, 3.95 percent for SymPy and NumPy and 3.03 percent for PyTorch CPU, and with no consistent warm-install effect.
  • Why it matters: The saving is real but opt-in, because the feature sits behind the content-addressed-cache preview flag and is not on by default.
  • Follow-up: Track whether the content-addressed cache leaves preview and becomes the default.

send feedback on this story