UV: Astral's Python package manager in Rust

UV (February 2024) by Astral: Python package manager and installer in Rust, 10-100x faster than pip, replaces pip + pip-tools + virtualenv + pyenv. Deterministic lock files, Python version management, drop-in replacement.

Open SourceR&D UVAstralPythonRustPackage ManagerpipOpen Source

pip is slow

pip ships with Python and remains the de facto standard, but has recognised limits:

  • Serial download and install, not parallel
  • Slow resolver (inefficient backtracking)
  • No native lock file (requires pip-tools)
  • Separate virtual env (venv/virtualenv)
  • Separate Python version management (pyenv)

UV, released by Astral on 15 February 2024, responds by unifying everything into a single Rust binary. Apache 2.0 or MIT dual licence.

What UV does

  • Package install 10-100x faster than pip (parallelism, deduplicated global cache)
  • Deterministic uv.lock lock file
  • Internally managed virtual env
  • Python version managementuv python install 3.12 without pyenv
  • Script executionuv run script.py creates temporary env
  • Tool managementuv tool install ruff like pipx
  • pip compatibilityuv pip install ... as drop-in for existing scripts

Pyproject.toml

UV natively supports pyproject.toml (PEP 621):

[project]
name = "myapp"
version = "0.1.0"
dependencies = [
    "django>=4.2",
    "requests>=2.31",
]

[tool.uv]
dev-dependencies = [
    "pytest>=7.4",
    "ruff",
]

uv sync command installs everything in a reproducible environment.

Adoption

UV has been very quickly embraced by the 2024 Python community:

  • FastAPI, Django, Polars — recommendation in docs
  • CI/CD — drastic install speed-up in pipelines
  • Container builds — lighter and faster layers
  • Python monorepos — native workspaces

By 2024-2025 UV represents the de facto successor of Poetry/pipenv for new projects, with Poetry remaining advantageous for existing projects and transitional compatibility.

Astral strategy

UV completes the Astral trilogy: Ruff (lint/format) + UV (packaging) + future ty (type check) → entire Python dev pipeline in Rust.

In the Italian context

Very rapid adoption in Italian Python teams 2024-2025.


References: UV (15 February 2024). Astral. Apache 2.0/MIT licence. Rust language. Drop-in replacement pip + pip-tools + virtualenv + pyenv. Proposed successor of Poetry/pipenv. Pyproject.toml (PEP 621).

Need support? Under attack? Service Status
Need support? Under attack? Service Status