PEP 517: Clarify expected front end handling of setup.py based trees (#1029)

The previous wording could be taken as suggesting that frontends should opt
out of their PEP 517 processing entirely if build-backend was not defined,
whereas it's actually fine to just use the setuptools provided backend that
implements the legacy build semantics.
This commit is contained in:
Nick Coghlan 2019-05-07 15:37:29 -04:00 committed by GitHub
parent 4ab33c63f1
commit cb033869fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 1 deletions

View File

@ -159,7 +159,9 @@ not be affected by this.
If the ``pyproject.toml`` file is absent, or the ``build-backend`` If the ``pyproject.toml`` file is absent, or the ``build-backend``
key is missing, the source tree is not using this specification, and key is missing, the source tree is not using this specification, and
tools should fall back to running ``setup.py``. tools should revert to the legacy behaviour of running ``setup.py`` (either
directly, or by implicitly invoking the ``setuptools.build_meta:__legacy__``
backend).
Where the ``build-backend`` key exists, this takes precedence and the source tree follows the format and Where the ``build-backend`` key exists, this takes precedence and the source tree follows the format and
conventions of the specified backend (as such no ``setup.py`` is needed unless the backend requires it). conventions of the specified backend (as such no ``setup.py`` is needed unless the backend requires it).
@ -695,6 +697,9 @@ implementation was released in pip 19.0.
* Support for in-tree backends and self-hosting of backends was added by * Support for in-tree backends and self-hosting of backends was added by
the introduction of the ``backend-path`` key in the ``[build-system]`` the introduction of the ``backend-path`` key in the ``[build-system]``
table. table.
* Clarified that the ``setuptools.build_meta:__legacy__`` PEP 517 backend is
an acceptable alternative to directly invoking ``setup.py`` for source trees
that don't specify ``build-backend`` explicitly.
=================================== ===================================