Packaging PEPs
Introduction
This is the index of all Python Enhancement Proposals (PEPs) labelled under the ‘Packaging’ topic. This is a sub-index of PEP 0, the PEP index.
Packaging PEPs follow the PyPA specification update process. They are used to propose major additions or changes to the PyPA specifications. The canonical, up-to-date packaging specifications can be found on the Python Packaging Authority (PyPA) specifications page.
Index by Category
Process and Meta-PEPs
PEP | Title | Authors | |
---|---|---|---|
PA | 609 | Python Packaging Authority (PyPA) Governance | Dustin Ingram, Pradyun Gedam, Sumana Harihareswara |
Provisional PEPs (provisionally accepted; interface may still change)
PEP | Title | Authors | |
---|---|---|---|
SP | 639 | Improving License Clarity with Better Package Metadata | Philippe Ombredanne, C.A.M. Gerlach, Karolina Surma |
SP | 708 | Extending the Repository API to Mitigate Dependency Confusion Attacks | Donald Stufft |
Accepted PEPs (accepted; may not be implemented yet)
PEP | Title | Authors | |
---|---|---|---|
SA | 458 | Secure PyPI downloads with signed repository metadata | Trishank Karthik Kuppusamy, Vladimir Diaz, Marina Moore, Lukas Puehringer, Joshua Lock, Lois Anne DeLong, Justin Cappos |
SA | 625 | Filename of a Source Distribution | Tzu-ping Chung, Paul Moore |
SA | 658 | Serve Distribution Metadata in the Simple Repository API | Tzu-ping Chung |
SA | 668 | Marking Python base environments as “externally managed” | Geoffrey Thomas, Matthias Klose, Filipe Laíns, Donald Stufft, Tzu-ping Chung, Stefano Rivera, Elana Hashman, Pradyun Gedam |
SA | 685 | Comparison of extra names for optional distribution dependencies | Brett Cannon |
SA | 691 | JSON-based Simple API for Python Package Indexes | Donald Stufft, Pradyun Gedam, Cooper Lees, Dustin Ingram |
SA | 714 | Rename dist-info-metadata in the Simple API | Donald Stufft |
SA | 735 | Dependency Groups in pyproject.toml | Stephen Rosen |
SA | 753 | Uniform project URLs in core metadata | William Woodruff, Facundo Tuesca |
Open PEPs (under consideration)
PEP | Title | Authors | ||
---|---|---|---|---|
S | 480 | Surviving a Compromise of PyPI: End-to-end signing of packages | Trishank Karthik Kuppusamy, Vladimir Diaz, Justin Cappos, Marina Moore | |
S | 694 | Upload 2.0 API for Python Package Repositories | Donald Stufft | |
S | 710 | Recording the provenance of installed packages | Fridolín Pokorný | |
S | 711 | PyBI: a standard format for distributing Python Binaries | Nathaniel J. Smith | |
S | 725 | Specifying external dependencies in pyproject.toml | Pradyun Gedam, Ralf Gommers | |
S | 739 | Static description file for build details of Python installations | Filipe Laíns | 3.14 |
S | 751 | A file format to record Python dependencies for installation reproducibility | Brett Cannon | |
S | 752 | Implicit namespaces for package repositories | Ofek Lev | |
P | 755 | Implicit namespace policy for PyPI | Ofek Lev | |
S | 759 | External Wheel Hosting | Barry Warsaw, Ethan Smith | |
S | 763 | Limiting deletions on PyPI | William Woodruff, Alexis Challande | |
I | 766 | Explicit Priority Choices Among Multiple Indexes | Michael Sarahan | |
S | 777 | How to Re-invent the Wheel | Ethan Smith |
Finished PEPs (done, with a stable interface)
Historical Meta-PEPs and Informational PEPs
PEP | Title | Authors | |
---|---|---|---|
PS | 438 | Transitioning to release-file hosting on PyPI | Holger Krekel, Carl Meyer |
PF | 449 | Removal of the PyPI Mirror Auto Discovery and Naming Scheme | Donald Stufft |
PF | 464 | Removal of the PyPI Mirror Authenticity API | Donald Stufft |
PF | 470 | Removing External Hosting Support on PyPI | Donald Stufft |
PF | 541 | Package Index Name Retention | Łukasz Langa |
Deferred PEPs (postponed pending further research or updates)
PEP | Title | Authors | |
---|---|---|---|
ID | 423 | Naming conventions and recipes related to packaging | Benoit Bryon |
SD | 491 | The Wheel Binary Package Format 1.9 | Daniel Holth |
Rejected, Superseded, and Withdrawn PEPs
PEP Types Key
- I — Informational: Non-normative PEP containing background, guidelines or other information relevant to the Python ecosystem
- P — Process: Normative PEP describing or proposing a change to a Python community process, workflow or governance
- S — Standards Track: Normative PEP with a new feature for Python, implementation change for CPython or interoperability standard for the ecosystem
PEP Status Key
- A — Accepted: Normative proposal accepted for implementation
- A — Active: Currently valid informational guidance, or an in-use process
- D — Deferred: Inactive draft that may be taken up again at a later time
- <No letter> — Draft: Proposal under active discussion and revision
- F — Final: Accepted and implementation complete, or no longer active
- P — Provisional: Provisionally accepted but additional feedback needed
- R — Rejected: Formally declined and will not be accepted
- S — Superseded: Replaced by another succeeding PEP
- W — Withdrawn: Removed from consideration by sponsor or authors