#71 Migrate build system to PEP 517
Closed: Fixed by bignose. Opened by bignose.

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.

Migrate the existing executable setup.py configuration, to declarative pyproject.toml as defined in PEP 517 and others.


@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.

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.

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)

Metadata