fab-geocommuns / RNB-coeur

Le coeur du Référentiel National des Bâtiments : imports, APIs, logique métier
https://rnb.beta.gouv.fr
Apache License 2.0
3 stars 0 forks source link

Passage à Poetry pour gérer les dépendances #437

Closed fchabouis closed 1 month ago

fchabouis commented 1 month ago

Nous avions pour l'instant une gestion des dépendances assez basique avec pip et requirements.txt.

Le problème étant que requirements.txt contenait à la fois nos dépendances directes et nos dépendances de dépendances. Il était du coup difficile de savoir quoi mettre à jour et de gérer les éventuels conflits de versions.

L'idée en passant à Poetry est d'avoir un fichier pyproject.toml qui contient la liste de nos dépendances directes avec les versions que l'on souhaite utiliser. Les dépendances de dev sont mises à part, ce qui nous permet de choisir ce que l'on veut installer en fonction de l'environnement de travail (dev ou prod). Lors de la première installation de ces dépendances un fichier lock est créé qui contient toutes nos dépendances ainsi que les dépendances de nos dépendances, ce qui permet de reproduire avec certitude une installation.

Lorsque l'on veut ajouter un package python au projet, on utilise la commande poetry :

poetry add nom_du_package

on peut aussi spécifier une version

poetry add nom_du_package@~2.3.0

ce qui va mettre à jour les fichiers pyproject.toml et poetry.lock. (Il faut installer poetry sur son poste pour pouvoir faire ça.)

Poetry nous permet d'avoir une bien meilleure vision d'ensemble sur ce qui doit être mis à jour : Capture d’écran 2024-07-26 à 15 28 56