We should add a pyproject.toml file to all libraries to explicitly specify what build tools they need. At the time of writing, the implicit default assumed by pip is setuptools, but we can make this explicit with pyproject.toml.
As per blog post linked below, if a project uses setuptools, the contents of pyproject.toml should be the following (which is what pip currently assumes if that file is missing):
[build-system]
requires = ["setuptools >= 40.6.0", "wheel"]
build-backend = "setuptools.build_meta"
Resources:
- PEP 518 - defines a standard way for the libraries to define their build system dependencies (in the abovementioned
pyproject.toml file).
- PEP 517 - defines how build tools should be executed for a project that provides
pyproject.toml.
- Blog post by one of the CPython core developers explaining all this in plain English. 🙂
We should add a
pyproject.tomlfile to all libraries to explicitly specify what build tools they need. At the time of writing, the implicit default assumed bypipissetuptools, but we can make this explicit withpyproject.toml.As per blog post linked below, if a project uses
setuptools, the contents ofpyproject.tomlshould be the following (which is whatpipcurrently assumes if that file is missing):Resources:
pyproject.tomlfile).pyproject.toml.