Python Enhancement Proposals

Official PEPs defining Python development, standards, and design decisions

Visit Python Enhancement Proposals →
Community & News
TopicsDocumentationStandardsPEPDevelopment

Python Enhancement Proposals — PEPs — are the design documents that govern how Python evolves. Every significant change to the language, standard library, or development process starts as a PEP: a written proposal that defines the problem, describes the proposed solution, and records the community discussion that followed. Reading PEPs is the closest thing to a primary source for understanding why Python works the way it does.

A handful of PEPs are essential reading for any serious Python developer. PEP 8 defines the style guide that most Python code follows. PEP 20 — “The Zen of Python” — articulates the design principles behind the language (import this). PEP 484 introduced type hints, PEP 572 added the walrus operator, and PEP 695 (Python 3.12) brought the new type parameter syntax. Following active PEPs is also one of the best ways to stay ahead of upcoming language changes before they land.

The index at peps.python.org is searchable and includes the full text, status (Draft, Accepted, Final, Rejected), and author history of every proposal since 1998.