Move project configuration from setup.cfg to pyproject.toml #1446
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Setuptools 61+ adds support for PEP 621, which describes a common metadata structure for package configuration. This PR moves our old setup.cfg configuration to pyproject.toml.
I considered moving from setuptools to hatchling but still haven't found a compelling reason other than "everyone else is doing it". So as to avoid continuously jumping from fad to fad, I think we should stick with setuptools until PyPA provides further guidance on how to choose a build backend. Luckily, since most build backends support PEP 621, it will be much easier to make the switch now.
I was hoping we could reduce the number of config files, but Codecov/ReadTheDocs don't support pyproject.toml and the maintainer of flake8/pyupgrade/pre-commit actively refuses to support pyproject.toml.