Skip to content

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

Open
esciara wants to merge 2 commits intomasterfrom
adr-poetry
Open

New ADR: Use Poetry for Python packaging and dependency management#10
esciara wants to merge 2 commits intomasterfrom
adr-poetry

Conversation

@esciara
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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.

2 participants