Python Governance
How decisions are made in the Python community
Python Governance Model
Python's development is guided by a Steering Council elected by the core development team. This governance model was adopted in 2019 following Guido van Rossum stepping down from his role as Benevolent Dictator For Life (BDFL).
The governance model is designed to be transparent, inclusive, and effective at moving Python forward while respecting the community that has grown around it.
The Steering Council
The Steering Council is a five-person committee elected by the core developers. The Council has broad authority to make decisions about the language, including:
Accepting or Rejecting PEPs
Final decision authority on Python Enhancement Proposals
Enforcing Code of Conduct
Ensuring a welcoming and inclusive community
Managing Core Team
Granting or removing commit privileges
Establishing Processes
Creating and updating development workflows
Python Enhancement Proposals (PEPs)
PEPs are the primary mechanism for proposing major new features, collecting community input on an issue, and documenting design decisions. Anyone can submit a PEP, though they must follow a specific format and go through a review process.
- Author writes a PEP and submits it for review
- Community discusses the proposal on mailing lists
- PEP is revised based on feedback
- Steering Council or designated delegate reviews
- PEP is accepted, rejected, or deferred
- If accepted, implementation begins
- Standards Track: New features or implementations
- Informational: General guidelines or information
- Process: Changes to Python's development process
Core Developers
Python core developers are trusted contributors who have demonstrated sustained commitment to Python's development. They have commit privileges to the main Python repository and vote for the Steering Council.
Becoming a Core Developer
Core developer status is granted to contributors who have:
- Made sustained, quality contributions to Python
- Demonstrated good judgment and collaboration
- Shown commitment to Python's values and community
- Been nominated and approved by existing core developers
Key Governance PEPs
PEP 1
PEP Purpose and Guidelines
Defines what a PEP is and how to write one
PEP 13
Python Language Governance
Establishes the Steering Council model
PEP 8
Style Guide for Python Code
Coding conventions for Python's standard library
PEP 20
The Zen of Python
Guiding principles for Python's design
Community Participation
Python's governance is designed to be inclusive and transparent. Community members can participate in various ways:
Discuss PEPs
Anyone can participate in PEP discussions on python-dev and discourse.python.org
Submit Bug Reports
Report issues and suggest improvements on bugs.python.org
Contribute Code
Submit patches and improvements through GitHub pull requests
Write Documentation
Help improve Python's documentation for all users