Python Gets Its First Elected Packaging Council

Python's packaging ecosystem has operated for years through informal coordination. The Python Packaging Authority coordinated tools like pip, setuptools, and PyPI without elections. Standards passed through standing delegations from the Steering Council to individual maintainers. If you ever wondered why packaging decisions in Python sometimes felt stuck in committee, the structural answer was that there was no committee.

That changed on April 16, 2026, when the Python Steering Council accepted PEP 772, creating a five-member Packaging Council with broad authority over packaging standards, tools, and implementations. On September 17, the Python Software Foundation announced the results of the inaugural election for that council. Five members were elected from a field of 17 candidates, with 541 ballots cast by PSF voting members who opted into the election.

The Winners and Their Terms

Brett Cannon and Pradyun Gedam received the highest number of votes and were designated Cohort A with two-year terms. Donald Stufft, Henry Schreiner, and Ralf Gommers received the next highest totals and were designated Cohort B with one-year terms. In future elections, each cohort will be elected for a full two-year term in alternating years, so that roughly half the council turns over each cycle.

Cannon is a core Python developer, pip maintainer, and PEP delegate for interoperability-related packaging standards at Microsoft. He co-authored PEP 609, which gave PyPA its governance structure, and co-authored PEP 772 itself. Gedam is a pip maintainer and co-chaired the Packaging Summit at PyCon US. Both have been deeply involved in packaging governance for years.

Stufft is the creator of pip and a co-founder of PyPI. Schreiner is known for his work on build systems and the scientific Python packaging stack. Gommers is a core NumPy developer and has been active in cross-project packaging coordination. All five bring direct experience with the tools and standards the council now oversees.

What PEP 772 Actually Does

The Packaging Council gains its authority through delegation from the Python Steering Council. PEP 772 replaces the ambiguous delegation model defined in PEP 609 with a formal, elected body that owns decisions about packaging interoperability standards, the Packaging User Guide, and binding decisions about packaging tools. The council prefers consensus but can vote, with a quorum of three members. Electors can dissolve the council with a two-thirds no-confidence vote.

The practical scope is significant. The council's authority covers the interoperability standards that uv, pip, and Poetry implement. It also covers the relationship between the council and PyPA, which the first cohort will need to define. This is one of the open questions from PEP 772: the PEP establishes the council but leaves the precise boundary between the council's authority and PyPA's existing project governance for the inaugural members to work out.

The council's authority extends to enforcing the PSF Code of Conduct, in addition to its technical mandate. The PSF Board is the final arbiter for conflicts of interest involving the council, and the Steering Council remains the final arbiter for technical conflicts.

The Election Mechanics

Nominations opened on July 28 and closed on August 11. Seventeen candidates were confirmed. Voting began on September 1 and used OpaVote for ballot distribution. PSF members who affirmed their intention to participate in the election received ballots via email. The election was managed by a returns officer nominated by the PSF Board, with Barry Warsaw and Pradyun Gedam serving as community liaisons for the inaugural cycle.

Astral, the company behind uv, endorsed four candidates before voting began: William Woodruff, Pradyun Gedam, Ralf Gommers, and Donald Stufft. Woodruff, an Astral employee and uv maintainer, was not elected. The endorsement generated discussion on Discourse about whether company endorsements influence council composition, though the election results suggest voters weighed multiple factors.

The complete tally is available on the OpaVote results page and will remain accessible until November 10, 2026.

The Work Ahead

The council inherits a long queue. Wheel variants (PEP 817) and external dependency declarations (PEP 725) are still in draft status. The Wheel 2.0 sub-PEPs continue to arrive. The relationship between the council and PyPA needs formal definition. And the broader ecosystem is generating packaging concerns faster than the previous informal coordination could address them, including questions about how packaging standards should handle LLM-era tooling and distribution patterns.

The staggered term structure is designed to preserve institutional continuity. By having half the council turn over each year, the incoming members inherit context from those who remain. This is the same pattern used by the Steering Council since 2019, and it matters more for a council that needs to define its own relationship with an existing authority (PyPA) than for one that simply continues existing work.

Onboarding for the elected members is already underway. The first concrete test will be how the council handles the pending PEPs and whether it establishes clear boundaries with PyPA before the Cohort B seats turn over in one year.