PEPGuide

Python PEP Articles: The Proposals That Shape the Language

10 articles beginner / intermediate / advanced

Python Enhancement Proposals (PEPs) are the formal mechanism for proposing changes to Python. They document everything from coding style conventions to major language features. Understanding key PEPs gives you insight into why Python works the way it does and where it is heading.

This collection covers the PEPs that matter for practicing Python developers -- from the foundational Zen of Python through security, documentation, and the future of threading.

01

PEP Articles

12 articles

The Zen of Python (PEP 20)

The 19 aphorisms that define Python's design philosophy and what they mean in practice.

Beginner read()

PEP 257: Docstring Conventions

Standard docstring formatting for modules, classes, functions, and methods.

Beginner read()

PEP 308: Conditional Expressions

The ternary operator in Python -- syntax, use cases, and readability considerations.

Beginner read()

PEP 287: reStructuredText Docstring Format

Using reStructuredText markup in docstrings for auto-generated documentation.

Intermediate read()

PEP 247: Cryptographic Hash API

Python's standard interface for cryptographic hash functions.

Intermediate read()

PEP 2: Adding New Modules

The process and criteria for adding new modules to Python's standard library.

Beginner read()

PEP 7: Style Guide for C Code

Coding standards for CPython's C implementation.

Advanced read()

PEP 11: Unsupported Platforms

How Python handles platform support, deprecation, and removal decisions.

Beginner read()

PEP 703: Free Threading -- The End of the GIL

The proposal to make the GIL optional and what it means for Python's future.

Advanced read()

PEP 761: PGP Deprecation

Why Python deprecated PGP signatures for release verification and the replacement approach.

Intermediate read()

PEP 530: Asynchronous Comprehensions

How async for and await were added to list, set, and dict comprehensions in Python 3.6 -- and what that unlocked for async code.

Intermediate read()

PEP 492: async and await

The full story of how async def, await, async with, and async for came to Python 3.5 -- and the debate that shaped them.

Intermediate read()
back to top