LaboratoireMecaniqueLille / crappy

Command and Real-time Acquisition Parallelized in Python
https://crappy.readthedocs.io/en/stable/
GNU General Public License v2.0
81 stars 16 forks source link

Move most project metadata from `setup.py` to `pyproject.toml` #68

Closed WeisLeDocto closed 11 months ago

WeisLeDocto commented 12 months ago

After the changes to Python's packages build system brought in PEP 518, and later PEP 517 and PEP 621, the standard way to provide information to the build system is to use a pyproject.toml file. The setup.py file should now be used only for complex builds with the setuptools backend.

In Crappy, a pyproject.toml file was added in version 1.4.2 for building the tarball and the wheel before uploading to PyPI. It only contains the minimal mandatory fields for building with setuptools, but all the metadata is still contained in setup.py.

To keep the project up-to-date with the evolution of the build system in Python, the project metadata should be moved from setup.py to pyproject.toml. As some objects in Crappy still require extension modules managed by setup.py, both setup.py and pyproject.toml will still co-exist in the project after the migration. The objects depending on extension modules might however be removed in future releases, making it possible to ultimately keep only a pyproject.toml file.