Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New ADR: Use Poetry for Python packaging and dependency management #10

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

esciara
Copy link
Member

@esciara esciara commented Apr 7, 2020

No description provided.

@esciara esciara changed the title feat(adr):use-poetry-for-python-packaging-and-dependency-management New ADR: Use Poetry for Python packaging and dependency management Apr 7, 2020
@esciara esciara force-pushed the adr-poetry branch 3 times, most recently from 676e743 to 9d8d7d9 Compare April 30, 2020 19:55

## Context and Problem Statement

Standard `setuptool` forces up to use 5 different files to create a package, making it
Copy link
Contributor

Choose a reason for hiding this comment

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

5 files ? Seems a lot, could they be listed here ?

Standard `setuptool` forces up to use 5 different files to create a package, making it
quite complicated to create packages. we want to find an alternative.

## Considered Options
Copy link
Contributor

Choose a reason for hiding this comment

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

Official Python guidelines : https://packaging.python.org/guides/tool-recommendations recommend also to use pip. It could be listed in considered options.

Chosen option: "Poetry", because of all the arguments detailed in one of the articles
that helped us decide: [A deeper look into Pipenv and Poetry](https://frostming.com/2019/01-04/pipenv-poetry)

### Positive Consequences <!-- optional -->
Copy link
Contributor

Choose a reason for hiding this comment

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

If none is observed, delete this section

* [e.g., improvement of quality attribute satisfaction, follow-up decisions required, ...]
* ...

### Negative Consequences <!-- optional -->
Copy link
Contributor

Choose a reason for hiding this comment

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

If none is observed, delete this section.

* [e.g., improvement of quality attribute satisfaction, follow-up decisions required, ...]
* ...

### Negative Consequences <!-- optional -->
Copy link
Contributor

Choose a reason for hiding this comment

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

Difficulties to manage/maintain the poetry lock could be observed as one negative consequence.

* [e.g., improvement of quality attribute satisfaction, follow-up decisions required, ...]
* ...

### Negative Consequences <!-- optional -->
Copy link
Contributor

Choose a reason for hiding this comment

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

Users have to learn how to use this tool which is not the python standard.
Users have to install a new tool on their local environment to develop.

* [e.g., compromising quality attribute, follow-up decisions required, ...]
* ...

## Pros and Cons of the Options <!-- optional -->
Copy link
Contributor

Choose a reason for hiding this comment

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

Pros and cons are missing here.
I think we should compile them, it may be one of the most important part of this ADR, especially for the choice of this build tool

## Links

* [Tutorial] [Package Python Projects the Proper Way with Poetry](https://hackersandslackers.com/python-poetry-package-manager/)
* [Link type] [Link to ADR] <!-- example: Refined by [ADR-0005](0005-example.md) -->
Copy link
Contributor

Choose a reason for hiding this comment

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

Remove unconfigured links

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.

None yet

2 participants