Skip to main content

Python : uv

· 2 min read

uv est un gestionnaire de paquets Python nouvelle génération, conçu pour être extrêmement rapide et compatible avec les outils existants comme pip, pip-tools et pipenv. Il vise à accélérer l'installation, la résolution et la gestion des dépendances dans les projets Python, tout en restant simple à utiliser.

Pourquoi utiliser uv ?

  • Ultra-rapide : uv est écrit en Rust et surpasse pip en vitesse d'installation et de résolution.
  • Compatible : uv fonctionne avec les fichiers requirements.txt, pip-tools, pipenv, et la plupart des workflows Python existants.
  • Gestion de l'environnement : uv peut créer et gérer des environnements virtuels, simplifiant la configuration des projets.
  • Sécurité : vérification des hashs, isolation des environnements, et gestion fine des dépendances.

Commandes principales

  • uv pip install <package> : Installe un paquet comme pip, mais bien plus vite !
  • uv venv : Crée un environnement virtuel.
  • uv pip sync : Synchronise l'environnement avec un fichier requirements.txt.
  • uv pip compile : Génère un fichier requirements.txt à partir d'un fichier de contraintes.

Exemple d'utilisation

# Créer un environnement virtuel
uv venv

# Installer les dépendances
uv pip install requests fastapi

# Gérer les dépendances avec pip-tools
uv pip compile requirements.in
uv pip sync requirements.txt

Avantages par rapport à pip

  • Installation et résolution des dépendances beaucoup plus rapides
  • Gestion native des environnements virtuels
  • Compatible avec les outils de l'écosystème Python
  • Expérience utilisateur moderne (progress bar, logs clairs)

Pour aller plus loin

uv vs Poetry

uvPoetry
VitesseUltra-rapide (Rust)Plus lent (Python)
Compatibilitépip, pip-tools, pipenv, requirements.txtpyproject.toml uniquement
Gestion envOui (uv venv)Oui (poetry shell/install)
RésolutionRapide, compatible pip-toolsAvancée, mais plus lente
PhilosophieMinimaliste, compatible écosystèmeTout-en-un, gestion centralisée

uv est idéal pour ceux qui veulent booster la vitesse et rester compatibles avec l'écosystème pip, tandis que Poetry propose une gestion centralisée et moderne des projets Python.