Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python Enhancement Proposals

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

Meta-PEPs (PEPs about PEPs or Processes)

PEP Title Authors
PA 609 Python Packaging Authority (PyPA) Governance Ingram, Gedam, Harihareswara

Accepted PEPs (accepted; may not be implemented yet)

PEP Title Authors
SA 458 Secure PyPI downloads with signed repository metadata Kuppusamy, Diaz, Moore, Puehringer, Lock, DeLong, Cappos
SA 625 Filename of a Source Distribution Chung, Moore
SA 658 Serve Distribution Metadata in the Simple Repository API Chung
SA 668 Marking Python base environments as “externally managed” Thomas, Klose, Laíns, Stufft, Chung, Rivera, Hashman, Gedam
SA 685 Comparison of extra names for optional distribution dependencies Cannon
SA 691 JSON-based Simple API for Python Package Indexes Stufft, Gedam, Lees, Ingram
SA 700 Additional Fields for the Simple API for Package Indexes Moore

Open PEPs (under consideration)

PEP Title Authors
S 480 Surviving a Compromise of PyPI: End-to-end signing of packages Kuppusamy, Diaz, Cappos, Moore
S 582 Python local packages directory Das, Dower, Stufft, Coghlan
S 639 Improving License Clarity with Better Package Metadata Ombredanne, Gerlach
S 694 Upload 2.0 API for Python Package Repositories Stufft
S 704 Require virtual environments by default for package installers Gedam

Finished PEPs (done, with a stable interface)

PEP Title Authors
SF 301 Package Index and Metadata for Distutils Jones
SF 376 Database of Installed Python Distributions Ziadé
SF 405 Python Virtual Environments Meyer
SF 425 Compatibility Tags for Built Distributions Holth
SF 427 The Wheel Binary Package Format 1.0 Holth
SF 440 Version Identification and Dependency Specification Coghlan, Stufft
SF 503 Simple Repository API Stufft
SF 508 Dependency specification for Python Software Packages Collins
SF 517 A build-system independent format for source trees Smith, Kluyver
SF 518 Specifying Minimum Build System Requirements for Python Projects Cannon, Smith, Stufft
SF 561 Distributing and Packaging Type Information Smith
SF 566 Metadata for Python Software Packages 2.1 Ingram
SF 592 Adding “Yank” Support to the Simple API Stufft
SF 600 Future ‘manylinux’ Platform Tags for Portable Linux Built Distributions Smith, Kluyver
SF 610 Recording the Direct URL Origin of installed distributions Bidoul, Jerdonek
SF 621 Storing project metadata in pyproject.toml Cannon, Ingram, Ganssle, Gedam, Eustace, Kluyver, Chung
SF 627 Recording installed projects Viktorin
SF 629 Versioning PyPI’s Simple API Stufft
SF 643 Metadata for Package Source Distributions Moore
SF 656 Platform Tag for Linux Distributions Using Musl Chung
SF 660 Editable installs for pyproject.toml based builds (wheel based) Holth, Bidoul

Historical Meta-PEPs and Informational PEPs

PEP Title Authors
PS 438 Transitioning to release-file hosting on PyPI Krekel, Meyer
PF 449 Removal of the PyPI Mirror Auto Discovery and Naming Scheme Stufft
PF 464 Removal of the PyPI Mirror Authenticity API Stufft
PF 470 Removing External Hosting Support on PyPI Stufft
PF 527 Removing Un(der)used file types/extensions on PyPI Stufft
PF 541 Package Index Name Retention Langa

Deferred PEPs (postponed pending further research or updates)

PEP Title Authors
ID 423 Naming conventions and recipes related to packaging Bryon
SD 491 The Wheel Binary Package Format 1.9 Holth

Abandoned, Withdrawn, and Rejected PEPs

PEP Title Authors
SS 241 Metadata for Python Software Packages Kuchling
SW 243 Module Repository Upload Mechanism Reifschneider
SR 262 A Database of Installed Python Packages Kuchling
SS 314 Metadata for Python Software Packages 1.1 Kuchling, Jones
SS 345 Metadata for Python Software Packages 1.2 Jones
SR 365 Adding the pkg_resources module Eby
SW 381 Mirroring infrastructure for PyPI Ziadé, von Löwis
SS 386 Changing the version comparison module in Distutils Ziadé
SR 390 Static metadata for Distutils Ziadé
IR 396 Module Version Numbers Warsaw
SR 402 Simplified Package Layout and Partitioning Eby
IW 426 Metadata for Python Software Packages 2.0 Coghlan, Holth, Stufft
SR 439 Inclusion of implicit pip bootstrap in Python installation Jones
SW 459 Standard Metadata Extensions for Python Software Packages Coghlan
IR 496 Environment Markers Polley
IS 513 A Platform Tag for Portable Linux Built Distributions McGibbon, Smith
SR 516 Build system abstraction for pip/conda etc Collins, Smith
IS 571 The manylinux2010 Platform Tag Williams, Thomas, Kluyver
IS 599 The manylinux2014 Platform Tag Ingram
SS 631 Dependency specification in pyproject.toml based on PEP 508 Lev
SR 633 Dependency specification in pyproject.toml using an exploded TOML table Opperman, Neelicattu
SW 650 Specifying Installer Requirements for Python Projects Jayanthi, Ingram, Cannon
SR 662 Editable installs via virtual wheels Gábor
SR 665 A file format to list Python dependencies for reproducibility of an application Cannon, Gedam, Chung

Numerical Index

PEP Title Authors
SS 241 Metadata for Python Software Packages Kuchling
SW 243 Module Repository Upload Mechanism Reifschneider
SR 262 A Database of Installed Python Packages Kuchling
SF 301 Package Index and Metadata for Distutils Jones
SS 314 Metadata for Python Software Packages 1.1 Kuchling, Jones
SS 345 Metadata for Python Software Packages 1.2 Jones
SR 365 Adding the pkg_resources module Eby
SF 376 Database of Installed Python Distributions Ziadé
SW 381 Mirroring infrastructure for PyPI Ziadé, von Löwis
SS 386 Changing the version comparison module in Distutils Ziadé
SR 390 Static metadata for Distutils Ziadé
IR 396 Module Version Numbers Warsaw
SR 402 Simplified Package Layout and Partitioning Eby
SF 405 Python Virtual Environments Meyer
ID 423 Naming conventions and recipes related to packaging Bryon
SF 425 Compatibility Tags for Built Distributions Holth
IW 426 Metadata for Python Software Packages 2.0 Coghlan, Holth, Stufft
SF 427 The Wheel Binary Package Format 1.0 Holth
PS 438 Transitioning to release-file hosting on PyPI Krekel, Meyer
SR 439 Inclusion of implicit pip bootstrap in Python installation Jones
SF 440 Version Identification and Dependency Specification Coghlan, Stufft
PF 449 Removal of the PyPI Mirror Auto Discovery and Naming Scheme Stufft
SA 458 Secure PyPI downloads with signed repository metadata Kuppusamy, Diaz, Moore, Puehringer, Lock, DeLong, Cappos
SW 459 Standard Metadata Extensions for Python Software Packages Coghlan
PF 464 Removal of the PyPI Mirror Authenticity API Stufft
PF 470 Removing External Hosting Support on PyPI Stufft
S 480 Surviving a Compromise of PyPI: End-to-end signing of packages Kuppusamy, Diaz, Cappos, Moore
SD 491 The Wheel Binary Package Format 1.9 Holth
IR 496 Environment Markers Polley
SF 503 Simple Repository API Stufft
SF 508 Dependency specification for Python Software Packages Collins
IS 513 A Platform Tag for Portable Linux Built Distributions McGibbon, Smith
SR 516 Build system abstraction for pip/conda etc Collins, Smith
SF 517 A build-system independent format for source trees Smith, Kluyver
SF 518 Specifying Minimum Build System Requirements for Python Projects Cannon, Smith, Stufft
PF 527 Removing Un(der)used file types/extensions on PyPI Stufft
PF 541 Package Index Name Retention Langa
SF 561 Distributing and Packaging Type Information Smith
SF 566 Metadata for Python Software Packages 2.1 Ingram
IS 571 The manylinux2010 Platform Tag Williams, Thomas, Kluyver
S 582 Python local packages directory Das, Dower, Stufft, Coghlan
SF 592 Adding “Yank” Support to the Simple API Stufft
IS 599 The manylinux2014 Platform Tag Ingram
SF 600 Future ‘manylinux’ Platform Tags for Portable Linux Built Distributions Smith, Kluyver
PA 609 Python Packaging Authority (PyPA) Governance Ingram, Gedam, Harihareswara
SF 610 Recording the Direct URL Origin of installed distributions Bidoul, Jerdonek
SF 621 Storing project metadata in pyproject.toml Cannon, Ingram, Ganssle, Gedam, Eustace, Kluyver, Chung
SA 625 Filename of a Source Distribution Chung, Moore
SF 627 Recording installed projects Viktorin
SF 629 Versioning PyPI’s Simple API Stufft
SS 631 Dependency specification in pyproject.toml based on PEP 508 Lev
SR 633 Dependency specification in pyproject.toml using an exploded TOML table Opperman, Neelicattu
S 639 Improving License Clarity with Better Package Metadata Ombredanne, Gerlach
SF 643 Metadata for Package Source Distributions Moore
SW 650 Specifying Installer Requirements for Python Projects Jayanthi, Ingram, Cannon
SF 656 Platform Tag for Linux Distributions Using Musl Chung
SA 658 Serve Distribution Metadata in the Simple Repository API Chung
SF 660 Editable installs for pyproject.toml based builds (wheel based) Holth, Bidoul
SR 662 Editable installs via virtual wheels Gábor
SR 665 A file format to list Python dependencies for reproducibility of an application Cannon, Gedam, Chung
SA 668 Marking Python base environments as “externally managed” Thomas, Klose, Laíns, Stufft, Chung, Rivera, Hashman, Gedam
SA 685 Comparison of extra names for optional distribution dependencies Cannon
SA 691 JSON-based Simple API for Python Package Indexes Stufft, Gedam, Lees, Ingram
S 694 Upload 2.0 API for Python Package Repositories Stufft
SA 700 Additional Fields for the Simple API for Package Indexes Moore
S 704 Require virtual environments by default for package installers Gedam

PEP Types Key

  • IInformational: Non-normative PEP containing background, guidelines or other information relevant to the Python ecosystem
  • PProcess: Normative PEP describing or proposing a change to a Python community process, workflow or governance
  • SStandards Track: Normative PEP with a new feature for Python, implementation change for CPython or interoperability standard for the ecosystem

More info in PEP 1.

PEP Status Key

  • AAccepted: Normative proposal accepted for implementation
  • AActive: Currently valid informational guidance, or an in-use process
  • DDeferred: Inactive draft that may be taken up again at a later time
  • <No letter>Draft: Proposal under active discussion and revision
  • FFinal: Accepted and implementation complete, or no longer active
  • PProvisional: Provisionally accepted but additional feedback needed
  • RRejected: Formally declined and will not be accepted
  • SSuperseded: Replaced by another succeeding PEP
  • WWithdrawn: Removed from consideration by sponsor or authors

More info in PEP 1.