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

Use hatch, pdm or other standards-compliant packaging system #31

Closed
dhdaines opened this issue Feb 21, 2024 · 1 comment
Closed

Use hatch, pdm or other standards-compliant packaging system #31

dhdaines opened this issue Feb 21, 2024 · 1 comment

Comments

@dhdaines
Copy link
Collaborator

dhdaines commented Feb 21, 2024

It's been over three years since PEP-621 was finalized and declared official, and Poetry still doesn't support standard packaging metadata in pyproject.toml: https://packaging.python.org/en/latest/specifications/pyproject-toml/

It's also slow and needlessly downloads many copies of the same package in order to satisfy its complex dependency resolution mechanism. Finally its version specifications, while they are friendly to JavaScript developers, are also not standards-compliant for Python and do not encourage best practices (see https://iscinumpy.dev/post/bound-version-constraints/)

The good news is you don't have to use poetry in order to get a user-friendly build system. There is hatch, for instance, which is used by some of our favorite packages like Starlette and Pydantic: https://hatch.pypa.io/latest/community/users/

There is also pdm which gives you a more npm-like experience while still being standards compliant: https://pdm-project.org/latest/

See python-poetry/roadmap#3 and python-poetry/poetry#3332

@dhdaines
Copy link
Collaborator Author

dhdaines commented Mar 8, 2024

I'll close this as it is just my personal pet peeve, and poetry is fine for applications (not so much for libraries)

@dhdaines dhdaines closed this as completed Mar 8, 2024
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

No branches or pull requests

1 participant