J’ai découvert uv en février 2025. En mars, pip n’existait plus chez moi.

Avant, gérer les dépendances Python c’était pip + pip-tools + virtualenv + un fichier texte pour se souvenir de la commande d’activation. Trop de pièces mobiles pour un truc qui devrait être simple. (Quant à poetry, j’ai jamais passé le pas)

uv pip install est 10 à 100× plus rapide que pip. uv venv crée un virtualenv en moins d’une seconde. Et uv pip compile remplace pip-tools sans avoir à installer quoi que ce soit. Tout est dans un seul binaire.

Le piège : si on fait encore pip install par réflexe dans un projet géré avec uv sync, on casse le lock file. La mémoire musculaire met une semaine à s’adapter à uv pip install.

Et pour aller encore plus vite ? uv sync tout court pour faire l’équivalent de uv pip install + uv venv, pas besoin de sourcer .venv/bin/activate tant qu’on préfixe les appels avec uv (ex: uv run app:main )

Ce que j’utilise au quotidien

Commande uvÉquivalent pipUsage
uv venvpython -m venvCréer un virtualenv
uv addInstaller un paquet
uv lockGénérer un uv.lock
uv syncpip installSynchroniser l’env avec le lock file
uv tool installpipx installInstaller un outil CLI global
uvx ruffpipx run ruffLancer un outil sans l’installer