Skip to main content

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.

PEP Process Overview
  1. Author writes a PEP and submits it for review
  2. Community discusses the proposal on mailing lists
  3. PEP is revised based on feedback
  4. Steering Council or designated delegate reviews
  5. PEP is accepted, rejected, or deferred
  6. If accepted, implementation begins
Types of PEPs
  • 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