Skip to content

Conversation

@AlexisGauthierAtKronos
Copy link
Contributor

Je propose d'ajouter l'option d'utiliser le gestionnaire de dépendances Poetry.
Le setup avec Pipenv reste disponible pour les projets qui l'utilise toujours.

Avant d'installer les dépendances, on vient détecter si Poetry est utilisé dans .tool-versions. S'il est présent, on fait le setup pour Poetry, sinon on fait le setup pour Pipenv.

J'ai fait des essais avec des branches utilisant Poetry et des branches utilisant Pipenv, tout semble fonctionnel.

Il ne resterait qu'à mettre à jour aussi le projet python-workflows pour utiliser Poetry. En attendant cette mise à jour Pipenv reste utilisable sans modifications aux autres projets, ce n'est pas un breaking change.

Copy link
Contributor

@kbeaulieu kbeaulieu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Et éventuellement on souhaite remplacer complètement pipenv par poetry?

@AlexisGauthierAtKronos
Copy link
Contributor Author

Et éventuellement on souhaite remplacer complètement pipenv par poetry?

J'aurais tendance à dire que oui.

Mon impression est que Poetry est supérieur à Pipenv.

Déjà, ça fait deux ou trois fois que j'ai du mal à résoudre l'arbre des dépendances avec Pipenv et qu'avec Poetry je réussi à peu près immédiatement. Les messages lors d'incompatibilités sont beaucoup plus clairs.
Il y a aussi de petites options qui permettent de cibler directement l'ensemble des librairies qui utilisent une dépendance spécifique (ex.: poetry show --tree --why six pour savoir qui utilise six). C'est peut-être aussi possible avec Pipenv, mais je n'ai pas vu comment le faire de façon aussi simple.
Le fichier poetry.lock est aussi plus lisible que le Pipefile.lock.
Il offre aussi la possibilité de packager les projets. Ce qui simplifiera la vie le jour où l'on voudrait que certains projets soient disponible sous forme de librairies.
Il permet aussi de couvrir des ranges de versions de Python. Ce qui serait un avantage encore une fois advenant l'utilisation sous forme de librairie pour d'autres projets.

Cela dit, les workflows pourront gérer les deux, je ne vois pas d'obligation pour tout changer vers Poetry.
On peut aussi voir à l'usage, si mon impression par rapport à Poetry se valide dans la réalité.

@AlexisGauthierAtKronos
Copy link
Contributor Author

J'ai updaté la PR pour offrir en output la chaîne 'pipenv' ou 'poetry'.

@AlexisGauthierAtKronos AlexisGauthierAtKronos merged commit fca84f2 into main Jan 18, 2023
@AlexisGauthierAtKronos AlexisGauthierAtKronos deleted the P22-802 branch January 18, 2023 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants