Python : Gestion des projets avec Poetry

Python : Gestion des projets avec Poetry
Photo by Alvaro Reyes / Unsplash

Introduction

Si comme moi, vous êtes un peu perdu lorsque vous devez gérer vos projets Python et toutes ses dépendances, alors vous êtes au bon endroit.

Ici, je vais vous apprendre à utiliser les commandes de base de Poetry, un gestionnaire de projet, vous permettant de gérer vos dépendances Python, mais pas que !

Comment l'installer ?

Vous vous en doutez, la première chose à faire est d'installer l'utilitaire Poetry.

L'installation de Poetry est relativement simple, il vous suffit d'utiliser l'utilitaire Python pip :

$ pip install poetry

Pour vérifier que l'application est bien installée :

$ poetry --version
Poetry (version 1.5.1)

Simple, non ?

Initialiser un projet

La deuxième chose que nous souhaitons faire maintenant, c'est de créer/initialiser notre premier projet, mais ici, nous avons deux possibilités.

1. Projet non existant

La première possibilité est que nous commençons un projet, nous allons donc initialiser notre projet via la commande :

$ poetry new monprojet

Et là, magnifique, Poetry nous a créé automatiquement les fichiers et dossiers dont nous avons besoin pour notre projet :

|-- monprojet	
	|-- monprojet
    	|-- __init__.py
	|-- tests
    	|-- __init__.py
	pyproject.toml
	README.md

Le fichier le plus important étant le fichier pyproject.toml, ce dernier contient toutes les informations essentielles à propos de notre projet, comme par exemple, les dépendances.

[tool.poetry]
name = "monprojet"
version = "0.1.0"
description = ""
authors = ["Julien <julien@securitricks.com>"]
readme = "README.md"

[tool.poetry.dependencies]
python = "^3.10"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

Comme on peut le voir dans le fichier plus haut, nous n'avons pas encore ajouté de dépendance(s) à notre projet, la section [tool.poetry.dependencies] est donc vide (ou presque), mais nous verrons par la suite comment faire.

2. Projet existant

La deuxième possibilité, dans le cas où notre projet existe déjà, nous pouvons simplement utiliser la commande :

$ poetry init

Cette commande va nous permettre de renseigner (de façon interactive) les informations à propos de notre projet, comme son nom, une description, les auteurs et les dépendances.

Ajouter des dépendances

En parlant de dépendances, comment faire pour en ajouter à notre projet ? Eh bien, c'est relativement simple. On utilisera la commande add suivant du module :

$ poetry add requests

En tapant cette requête, Poetry va directement écrire cette information dans le fichier pyproject.toml :

[tool.poetry.dependencies]
...
requests = "^2.31.0"

Ajouter des dépendances depuis GitHub

Si vous avez des modules que vous souhaitez utiliser dans votre projet, mais que ces derniers proviennent de GitHub, il est possible de les spécifier soit via la commande :

$ poetry add git+https://github.com/yourgithub/your-project.git

Ou directement dans le fichier pyproject.toml :

...
[tool.poetry.dependencies]
module = {git = "https://github.com/yourgithub/your-project.git"}
...
module étant le nom que vous souhaitez donner au projet que vous voulez récupérer depuis GitHub.

Afficher les dépendances

Si nous souhaitons voir quelles sont les dépendances liées à notre projet, nous utiliserons la commande show :

$ poetry show      
certifi            2023.7.22     Python package for providing Mozilla's CA Bundle.
charset-normalizer 3.2.0         The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Cha...  
idna               3.4           Internationalized Domain Names in Applications (IDNA)
requests           2.31.0        Python HTTP for Humans.
urllib3            2.0.4         HTTP library with thread-safe connection pooling, file post, and more.
C'est assez étrange... Nous n'avons pas ajouté toutes ces dépendances à notre projet, d'où viennent-elles ?

La réponse est simple : Certaines dépendances contiennent également des dépendances, pour les voir nous ajouterons le paramètre --tree à notre commande :

$ poetry show --tree
requests 2.31.0 Python HTTP for Humans.
├── certifi >=2017.4.17
├── charset-normalizer >=2,<4
├── idna >=2.5,<4
└── urllib3 >=1.21.1,<3

Installer le projet

Nous arrivons maintenant à la partie qui nous intéresse le plus : Installer le projet.

On va encore rester dans la simplicité, pour installer le projet, nous allons exécuter la commande suivante :

$ poetry install

Et voilà ! Notre projet et toutes ses dépendances sont installées.

Conclusion

Dans ce (mini) tutoriel, nous avons vu comment il est très simple, à l'aide de Poetry, de créer un projet en Python.

Si vous souhaitez plus d'informations sur la panoplie de commandes disponibles avec Poetry, rendez-vous sur ce lien https://python-poetry.org/docs/cli/

About the author
Julien B.

Securitricks

Up-to-Date Cybersecurity Insights & Malware Reports

Securitricks

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Securitricks.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.