Développé par astral (les créateurs du linter ruff), uv est un gestionnaire de projets et de packages Python open source conçu pour accélérer et simplifier l'outillage Python.
Au-delà de cette simplification, uv améliore l’expérience de développeur sur de nombreux points. Tout d’abord, uv est installable et utilisable directement avec une seule commande, sans besoin préalable d’installer Rust ou Python.
Ce dernier peut être installé avec uv en une seule commande, comme avec pyenv. La création d’environnement virtuel est très similaire à poetry, sa résolution de dépendances étant optimisée pour être plus rapide.
Grâce à cette rapidité, la commande uv run revérifie et recalcule les dépendances à chaque lancement de commande python, ce qui limite les erreurs lors de la mise à jour d'une dépendance par un autre membre d'équipe. Il devient donc moins intéressant d'utiliser l'ancien standard d'activation d'environnement virtuel avec pyenv local.
Ainsi, dans un flux classique de développement, uv accélère les flux et simplifie l’écosystème en proposant d’être le seul prérequis à l’utilisation de Python avec des environnements virtuels. Cela permet de faciliter le lancement du projet à des non-initiés. Enfin, alors que pyenv n'était pas officiellement compatible avec Windows, uv l'est nativement, ce qui permet d’uniformiser l'outillage sur toutes les plateformes.
LE POINT DE VUE THEODO
Chez Theodo, nous recommandons chaudement l’utilisation de uv pour des flux de développement classiques en Python au vu de sa qualité, complétude, simplicité et de sa fréquence de mise à jour. Si vous utilisez des fonctionnalités de poetry / pyenv encore indisponibles sur uv, nous recommandons de créer une issue sur le repository GitHub du projet pour le faire évoluer.
Lorem ipsum dolor sit amet consectetur. Eu tristique a enim ut eros sed enim facilisis. Enim curabitur ullamcorper morbi ultrices tincidunt. Risus tristique posuere faucibus lacus semper.
En savoir plus