
Emmanuel Chomarat

Dans cet article, nous explorerons comment utiliser l'outil uv pour remplacer plusieurs outils de gestion de projet tels que pipx, pip, env, poetry, etc. uv permet de gérer toutes les dimensions d'un projet de manière rapide et efficace.
Selon votre environnement vous devrez installer uv, un binaire écrit en Rust ce qui lui confére une très grande performance. Je détaille ici brièvement son installation mais vous pouvez consulter la documentation officielle pour d'autres méthodes.
Sous Windows, ouvrez un terminal powershell et éxectuer la commande suivante:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Ou, ce que je recommande, utilisez le gestionnaire de paquets winget qui simplifie également la mise à jour ou la désinstallation du paquet.
winget install --id=astral-sh.uv -ePour Linux/Macos/WSL, ouvrez un terminal et éxecuter les commandes suivantes :
curl -LsSf https://astral.sh/uv/install.sh | shou si vous utilisez l'outils brew (fortement recommandé sous MacOS)
brew install uvPour plus de méthodes d'installation consultez la documentation d'installation
Passons maintenant à la création et à la gestion d’un projet avec uv. Cet article vous présente les étapes essentielles pour démarrer rapidement. Des articles ultérieurs aborderont des fonctionnalités avancées et les évolutions récentes de l'outil.
Pour créer un nouveau projet c'est très simple. Rendez vous dans le répertoire de votre choix et éxzecuter les commandes suivantes dans la console :
uv init projetX
cd projetXSi le répertoire projetX existe déjà et contient du code vous pouvez directement taper ces commandes:
cd projetX
uv initEn effet la commande uv init initialisera par défaut dans le répertoire courant la structure du projet. Nous explorerons d'autres paramètres de cette commande dans de futurs articles.
Dans les deux cas le répertoire contiendra l'arborescence suivante :
.
├── .gitignore
├── .python-version
├── README.md
├── main.py
├── pyproject.toml
└── ... autres fichiers si le répertoire n'était pas videUne fois le projet créé vous pouvez alors exécuter votre application (ici main.py) via la commande uv run.
uv run main.py
Hello from projetXCette commande uv run va effectuer plusieurs choses.
Dès lors uv run deviendra votre nouvelle façon d'exécuter l'application depuis une ligne de commande. Le fichier pyproject.toml centralise toutes les informations relatives aux dépendances et à la configuration de l'application et il est compatible avec de nombreux outils de l'écosystème Python.
Votre projet est maintenant prêt à évoluer.
L'une des forces de Python est son écosystème de packages. Vous avez probablement déjà utilisé la commande pip install pour installer une nouvelle dépendance. Vous n'aurez plus besoin de faire cela (vous ne devrez plus faire cela au risque de ne pas avoir un environnement propre !!!).
Utilisez simplement uv add pour ajouter une dépendance dans l'environnement et l'ajouter au fichier pyproject.toml.
uv add flaskA partir de la vous pouvez éditer votre projet comme vous l'auriez fait dans un IDE (PyCharm, VSCode , VIM etc...)
Nous verrons dans de prochains articles comment enlever un package avec uv remove ou bien comment mettre à jour une dépendance. Dans un premier temps je vous déconseille d'éditer directement le fichier pyproject.toml mais nous verrons aussi que cela peut s'averer utile voir nécessaire.
Après cette introduction rapide sur uv nous l'utiliserons régulièrement dans tous nos projets. Nous explorerons des fonctionnalités plus avancées (linter, packages, tests, ...) dans de prochains articles. Nous aborderons des sujets tels que le calculs numériques (Simulation, Intégration, Visualisation), d'IA ou bien encore d'analyse de données (financières ou autres).