zestsoftware / zest.releaser

Python software releasing made easy and repeatable
https://zestreleaser.readthedocs.io
GNU General Public License v2.0
198 stars 62 forks source link

Read zest.releaser settings from pyproject.toml #412

Closed elisalle closed 12 months ago

elisalle commented 1 year ago

Since PEP 621 has been released, many projects have been getting rid of setup.cfg and setup.py in favour of pyproject.toml. As far as I can tell, zest.releaser requires its settings to be configured in setup.cfg. Many other tools, like black, support configuring settings in pyproject.toml, but not in setup.cfg. This leads to an unfortunate split in many projects where some settings are in setup.cfg and others are in pyproject.toml.

I'd be interested in support for pyproject.toml as a configuration location for zest.releaser. The zest.releaser section would then be prepended with a tool keyword, as per https://packaging.python.org/en/latest/specifications/declaring-project-metadata/. For example:

[tool.zest-releaser]
create-wheel = true
extra-message = "ci skip"
tag-signing = true
less-zeros = true
push-changes = false

Supporting this would be a step further towards one single configuration location for all tool configurations associated with a project.

mauritsvanrees commented 1 year ago

I would be in favour of supporting this. I expect that changes would be mostly in pypi.py where we read our config. We are already reading toml syntax. Would you be willing to create a PR?

elisalle commented 1 year ago

Sure, I'd love to. It might take a few weeks though; I'm a bit busy at the moment.

reinout commented 12 months ago

Fixed in #415