FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Integrate PEP 517 into Specifications by rgommers · Pull Request #2185 · pypa/packaging.python.org · GitHub

Repository navigation

Integrate PEP 517 into Specifications - #2185

Open
rgommers wants to merge 6 commits into
pypa:mainfrom
rgommers:add-pep-517
Open

rgommers wants to merge 6 commits into
pypa:mainfrom
rgommers:add-pep-517

Conversation

rgommers commented Nov 12, 2026 •
edited by github-actions Bot
Loading

Copy link
Copy Markdown
Contributor

The first commit contains the unchanged specification parts of PEP 517 in its current form in the python/peps repo. Subsequent commits integrate the content better, moving part into the existing pyproject.toml spec, retaining the rest in a new build-system-interface.rst, and cross-linking with sdist/wheel specs, glossary, etc.

Closes gh-388
Addresses the PEP 517 part of gh-955 and gh-1093
Supersedes part of gh-1111.

AI Usage Disclosure: while I carefully planned, verified and proofread this by hand, most of the changes were done using Codex and Sol 6.1 High.


📚 Documentation preview 📚: https://python-packaging-user-guide--2185.org.readthedocs.build/en/2185/

Copy the sections from Terminology and goals through Source distributions
without changing their text. Use python/peps revision
b39aefe6614b4e8a925d07c4b3ed47e147236dbe, which includes the amendments
for in-tree backends, build requirement cycles, legacy fallback, and
duplicate config_settings keys.

Place the new interface specification beside the distribution formats.
Keep the import separate from subsequent editorial changes so reviewers
can verify it directly against the PEP.
Normalize the PEP heading hierarchy and add stable cross-reference labels
without changing hook signatures or requirement strength. Retain the
frontend recommendations and examples, including the current amendment
about duplicate config_settings keys.

Replace the superseded editable-install discussion with a reference to
PEP 660, remove the historical promise of a future hook-calling library,
and record the specification's approval and amendments in History.
Document requires, build-backend, and backend-path together, replacing the
claim that only requires is valid. Move backend lookup, legacy fallback,
and the complete in-tree backend restrictions from the imported text;
leave dependency graph and hook execution requirements on the interface
page with cross-references between the specifications.

Keep requires mandatory when the table is present and build-backend
optional, preserving the existing missing-file and missing-table defaults.
Scope the illustrative JSON schema to the build-system table and include
the two PEP 517 keys without changing the other pyproject.toml tables.

Validation: pixi run build; illustrative schema checked against four
valid and seven invalid configurations.
Replace duplicate PEP 517 archive descriptions with links to the current
source distribution specification, which already incorporates later
metadata and archive requirements. Retain the hook's requirement to
include pyproject.toml from the build directory and the requirement that
sdists produce wheels with the corresponding name and version.

Point the sdist source-tree definition at the local configuration and
interface specifications instead of sending readers to PEPs 517 and 518.
Preserve all UnsupportedOperation and intermediate-sdist fallback text.

Closes pypa#388; addresses part of pypa#955 and pypa#1093.
Link the existing frontend and backend definitions to the interface,
and replace normative PEP references with local specification links.
Connect backend lookup, dependency specifiers, wheel metadata, and sdist
creation without changing the glossary terminology or historical PEP
citations. Correct two inherited spellings flagged by codespell.

Validation: pixi run build; scoped pre-commit checks; rendered heading
hierarchy and 387 links between changed pages; illustrative schema cases.
Also compare the unchanged hook signatures, config_settings and invocation
text, in-tree restrictions, and build environment recommendations with
the imported PEP, accounting for the documented editorial edits.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: specifications type: enhancement A self-contained enhancement or new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update sdist specification section to refer to PEP 517

1 participant


Back | FazBrowse Home | New Git URL