Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 40 additions & 31 deletions pep-9999.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,16 @@ Created:

Abstract
========
This PEP describes the Python Packaging Governance for
all tools that are included as part of the PyPA. The Packaging
Council will approve PEPs related to all PyPA tools,
represent the community that supports these tools
and act as a representative of PyPA tools.

This PEP describes the Python Packaging Governance for all tools
that are included as part of the PyPA. The Packaging Council will
govern all PyPA tools, represent the community that supports these
tools and act as a representative of PyPA tools. From here on, this
Packaging council will be called the Python Packaging Authority (PyPA).
From here on, this Packaging council will be called the
Python Packaging Authority (PyPA). This PEP will supersede
[PEP 609](https://peps.python.org/pep-0609/)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can use this Sphinx role as a shortcut for PEP links:

Suggested change
[PEP 609](https://peps.python.org/pep-0609/)
:pep:`609`

and will cover all aspects of Python Packaging Governance.

Rationale
=========
Expand All @@ -26,20 +30,34 @@ formalized the governance of tools included under the PyPA
umbrella, this governance does not extend to setting long-term goals
for PyPA tools. In order to ensure PyPA tools remain relevant in the
future and cater to user requirements, it is important to set a vision
and strategy for Python Packaging and PyPA tools.
and strategy for Python Packaging and PyPA tools. It is hoped that
in the long-term, the council will focus on the Packaging ecosystem,
define the vision and work with the community to develop the strategy.
Attempts at defining the vision and strategy have failed so far.

The main motivation for this PEP is to create a body with the necessary
powers to define the short-term and long-term goals for Python Packaging
and to support the community in setting the strategy to achieve the goals. This
governing body will represent PyPA tools when working with any other tool or group.
and to support the community in setting the strategy to
achieve the goals. This governing body will represent PyPA tools
when working with any other tool or group.

As such, the mission of the initial council will be-

* Approving Python Packaging PEPs

We can expect the initial council to pick up a few problems
outside of this list that they feel is important to the community.
With each council, this mission will change depending on
pressing issues and how the vision and strategy has changed.

The mandate and powers of the PyPA have been drawn up such that they
are not too restrictive. Certain issues such as authority over maintenance
and improvement of installers, build backends, Warehouse, and other PyPA
software are not in the scope of the initial council. This could be added
the future if all stakeholders agree to this change. It is expected that
the mandate of powers of the council will grow as long as it can show that
it is working in the best interest of the Packaging community.
it is working in the best interest of the Packaging community. This
council will be accountable to the Python Steering Council.

Specification
=============
Expand All @@ -57,39 +75,40 @@ Mandate

The packaging council will-

* Set vision and strategy for Python Packaging and PyPA tools (defined below)
* Support, encourage and facilitate the maintenance and improvement
of the quality of all PyPA tools
* Represent PyPA tools as a group when working with non-PyPA tools,
PSF, Python Steering Council and third-party entities such as operating
system package managers. The council will start discussions and engage
with stakeholders and the Packaging community and represent the PyPA interests.
with stakeholders and the Packaging community and represent the
PyPA interests.
* Arbitrate on any packaging related issue brought to the council. This
should be done as the final resort.
* Improve diversity of the Packaging community. The council should work
with the PSF to introduce programmes aimed at improving diversity of contributors.
with the PSF to introduce programmes aimed at
improving diversity of contributors.

Powers
~~~~~~

Packaging Governance
++++++++++++++++++++

* Accept or reject PEPs within the scope delegated by the Python Steering Council
* Accept or reject PEPs within the scope
delegated by the Python Steering Council
* Delegate parts of their authority to other subcommittees or processes

Packaging Assets
++++++++++++++++

* Authority over `packaging.python.org <https://packaging.python.org/en/latest/>`_
* Maintain advisory role for any issue related to packaging docs
* Authority over PyPA GitHub org

Stakeholder Management
++++++++++++++++++++++

* Act as a liaison with any packaging-related Python or non Python
technical group when specific tool representation isn't appropriate.
technical group when specific tool representation is not appropriate.
For example, any group representing supply chain security.
* Act as a liaison with the PSF and the Packaging Working Group to obtain
funding and any other areas of shared interest
Expand All @@ -98,11 +117,8 @@ Stakeholder Management
Packaging ecosystem and community
+++++++++++++++++++++++++++++++++

* Maintain ownership of PyPA tools. The council will not interfere with a project's day-to-day
operations but rather govern the community that supports these tools. The PyPA can require
projects to implement accepted PEP standards or eject maintainers from the project.
* Recommend projects for adoption into PyPA by vote. External projects can self-nominate to
be included under the PyPA umbrella.
* Recommend projects for adoption into PyPA by vote.
External projects can self-nominate to be included under the PyPA umbrella.
* Expel PyPA project/individual

Scope: It is expected that the Packaging council will consider the Python Packaging
Expand Down Expand Up @@ -295,7 +311,7 @@ Prerogatives
~~~~~~~~~~~~

PyPA committers may participate in formal votes,
typically to nominate new committers, new PyPA projects,
typically to nominate new PyPA projects,
and to elect the Packaging council.

Membership
Expand Down Expand Up @@ -327,13 +343,6 @@ may work with the PSF to establish such programmes.
Acknowledgements
================

This PEP is based on `PEP 13 <https://peps.python.org/pep-0013/>`_ which in turn is based on a Django governance
document authored by Aymeric Augustin.








This PEP is based on `PEP 13 <https://peps.python.org/pep-0013/>`_
which in turn is based on a Django governance
document authored by Aymeric Augustin.