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

consider moving to poetry from pipenv #189

Closed
yashaka opened this issue Jul 9, 2019 · 3 comments · Fixed by #302
Closed

consider moving to poetry from pipenv #189

yashaka opened this issue Jul 9, 2019 · 3 comments · Fixed by #302

Comments

@yashaka
Copy link
Owner

yashaka commented Jul 9, 2019

https://poetry.eustace.io/

@aleksandr-kotlyar
Copy link
Collaborator

aleksandr-kotlyar commented Mar 27, 2021

https://python-poetry.org/

Also an interesting article: https://browniebroke.com/blog/migrating-project-to-poetry/

To not overwrite all the arguments to poetry: pydantic/pydantic#314
The most interesting comment: pydantic/pydantic#314 (comment)

Just to add my 2 cents about choosing a new build tool, and the differences between Flit and Poetry, from what I have found about all this.

I haven't even developed a personal preference yet, but as it was a bit confusing for me, here's a summary of what I have found.

  • pipenv was developed with a file Pipfile (also in TOML format) to replace venv and requirements.txt at the same time. It was adopted and endorsed by PyPA (Python Package Authority, the guys that run PyPI).
  • They wrote the PEP about pyproject.toml, it is the new "standard" file by PyPA). It's supposed to be an alternative comparable to setup.py and setup.cfg. Not to "deprecate" them necessarily, but to make them optional. As everything is declared in a simpler configuration file, it's supposed to centralize and simplify package configuration.
  • Poetry and Flit both use the same pyproject.toml file, but in a slightly different way.
  • Flit uses it as it was intended, and so it's endorsed by PyPA, to do project building and publishing. Nothing else.
  • Poetry uses the same file to handle package building and publishing but also puts development dependencies in there. And it also handles development virtual environments. So, it intends to replace setup.py, setup.cfg but also Pipfile (and with that requirements.txt). And to replace venv and pipenv as commands. More like npm does in the JavaScript world. Everything is done with npm and there's a single package.json file.
  • Poetry creator and PyPA guys even had some arguments about all the subject.
  • Flit seems to be more "standard" and "endorsed", but Poetry seems to be more popular.
  • With Flit, the pyproject.toml file would only be replacing setup.py and setup.cfg, but Flit wouldn't care if you use requirements.txt, Pipfile` or anything else for development. It would only care about package building.

@aleksandr-kotlyar
Copy link
Collaborator

TODO

  1. Add poetry to project
  2. Move dependencies to pyproject.toml
  3. Update README and update CONTRIBUTING about poetry usage to contribute to selene.

aleksandr-kotlyar added a commit to aleksandr-kotlyar/selene that referenced this issue Mar 27, 2021
@aleksandr-kotlyar aleksandr-kotlyar mentioned this issue Mar 27, 2021
3 tasks
@aleksandr-kotlyar
Copy link
Collaborator

Resolved in #302

aleksandr-kotlyar added a commit to aleksandr-kotlyar/selene that referenced this issue Apr 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants