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
| uv | Poetry | |
|---|---|---|
| Vitesse | Ultra-rapide (Rust) | Plus lent (Python) |
| Compatibilité | pip, pip-tools, pipenv, requirements.txt | pyproject.toml uniquement |
| Gestion env | Oui (uv venv) | Oui (poetry shell/install) |
| Résolution | Rapide, compatible pip-tools | Avancée, mais plus lente |
| Philosophie | Minimaliste, compatible écosystème | Tout-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.