| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
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.
| Back | FazBrowse Home | New Git URL |
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/