uv is an extremely fast, all-in-one Python package manager written in Rust by Astral — the same team that made ruff, the formatter that took over Python in 18 months. uv is doing the same thing to package management.
uv replaces an absurd list of tools in one binary: pip (install), venv (virtual environments), pip-tools (lockfiles), pyenv (Python version management), pipx (run tools without installing), and twine (publish to PyPI). All of those go away. You install uv. uv does the rest.
The speed is the headline. 10-100x faster than pip — and up to 115x faster with a warm cache. Installing JupyterLab takes 21 seconds with pip and ~2.6 seconds with uv. Creating a virtual environment is 8x faster. The speed comes from Rust parallelism, a CDCL solver instead of pip's resolver, HTTP range requests for metadata (downloads only what it needs), hard-linked package cache (instant unpacking), and zero Python startup overhead.
uv brings true reproducibility. uv.lock is a real, fully-pinned lockfile — every transitive dep, every wheel hash. It's the Python equivalent of package-lock.json or Cargo.lock. Combined with uv python install 3.13 (managed Python versions), you finally have uv sync = 'install the exact same Python and packages on every machine'.
And it's drop-in compatible with pip. uv pip install requests works exactly like pip install requests — same flags, same behavior. You can adopt uv into a pip-based project with zero friction; new projects use the modern uv add + uv.lock workflow.