UV: il package manager Python in Rust di Astral

UV (febbraio 2024) di Astral: package manager e installer Python in Rust, 10-100x più veloce di pip, sostituisce pip + pip-tools + virtualenv + pyenv. Lock file deterministici, gestione Python versions, drop-in replacement.

Open SourceR&D UVAstralPythonRustPackage ManagerpipOpen Source

pip è lento

pip è installato con Python e rimane lo standard de facto, ma ha limiti riconosciuti:

  • Download e install seriale, non parallelo
  • Resolver lento (backtracking inefficiente)
  • No lock file nativo (richiede pip-tools)
  • Virtual env separato (venv/virtualenv)
  • Python version management separato (pyenv)

UV, rilasciato da Astral il 15 febbraio 2024, risponde unificando tutto in un singolo binario Rust. Licenza Apache 2.0 o MIT dual.

Cosa fa UV

  • Package install 10-100x più veloce di pip (parallelismo, cache globale deduplicata)
  • Lock file uv.lock deterministico
  • Virtual env gestito internamente
  • Python version managementuv python install 3.12 senza pyenv
  • Script executionuv run script.py crea ambiente temporaneo
  • Tool managementuv tool install ruff come pipx
  • Compatibilità pipuv pip install ... come drop-in per script esistenti

Pyproject.toml

UV supporta nativamente 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",
]

Comando uv sync installa tutto in un ambiente riproducibile.

Adozione

UV è stato accolto rapidissimamente nella community Python del 2024:

  • FastAPI, Django, Polars — recommendation in docs
  • CI/CD — speed-up drastico di install in pipeline
  • Container builds — layer più leggeri e veloci
  • Monorepo Python — workspaces nativi

Al 2024-2025 UV rappresenta il successor di fatto di Poetry/pipenv per nuovi progetti, con Poetry che rimane vantaggioso per progetti esistenti e compatibilità transizionale.

Strategia Astral

UV completa la trilogia Astral: Ruff (lint/format) + UV (packaging) + future ty (type check) → intera pipeline dev Python in Rust.

Nel contesto italiano

Adoption molto rapida nei team Python italiani 2024-2025.


Riferimenti: UV (15 febbraio 2024). Astral. Licenza Apache 2.0/MIT. Linguaggio Rust. Drop-in replacement pip + pip-tools + virtualenv + pyenv. Successor proposto di Poetry/pipenv. Pyproject.toml (PEP 621).

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi