The current build system relies on Setuptools setup.py for build, installation, and other tasks. The PyPA is formally deprecating the use of setup.py in favour of a PEP 517-conformant declarative configuration, to be used by more specialised tools.
setup.py
Migrate the existing executable setup.py configuration, to declarative pyproject.toml as defined in PEP 517 and others.
pyproject.toml
@neil, your assistance will be appreciated: I am working to carefully migrate the current programmatic generation of Setuptools options, to instead conform to PEP 517.
My work is ongoing, published in the branch https://pagure.io/python-daemon/tree/wip/maintenance/pyproject and I'll continue to rebase that (against 'main') as needed.
One thing I'm thinking about is how to migrate the existing daemon._metadata module; it is used programmatically in setup.py for various options. But PEP 517 heavily suggests these instead be declarative, and the name option must be static, not dynamic.
daemon._metadata
name
There's also version, which deliberately makes the ChangeLog document the single point of truth for the latest version metadata when building the sdist. Ideally I want to retain this property, since the ChangeLog is an ideal location for that manually-edited information.
version
The intention of daemon._metadata is to collect these together for programmatic use. This has some overlap with the purpose of declarative PEP 517 data.
Your thoughts @neil?
With the migration of the build system to conform with PEP 517 and PEP 621, merged to the main branch, this issue is resolved.
Metadata Update from @bignose: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)