Closed
Description
As mentioned in #1797 (comment), it's better to remove setup.py
/setup.cfg
and move all project metadata and packaging/buiding to pyproject.toml
.
Here are some related resources I found on the internet:
PEPs
- PEP 517 – A build-system independent format for source trees
- PEP 518 – Specifying Minimum Build System Requirements for Python Projects
- PEP 621 – Storing project metadata in pyproject.toml
- PEP 631 – Dependency specification in pyproject.toml based on PEP 508
Tools
General
- https://chadsmith.dev/python-packaging/
- https://bernat.tech/posts/pep-517-and-python-packaging/
- https://bernat.tech/posts/pep-517-518/
Setuptools
- https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
- Discussion: support for pyproject.toml configuration pypa/setuptools#1688
- https://discuss.python.org/t/help-testing-experimental-features-in-setuptools/13821
- [FR] Implement PEP 660 -- Editable Installations pypa/setuptools#2816
Poetry
- https://python-poetry.org/
- https://github.com/mtkennerly/poetry-dynamic-versioning
- WIP: Setup poetry in pyproject.toml #1055
- Support for PEP 621 python-poetry/roadmap#3