The PEPs in this repo are published automatically on the web at https://peps.python.org/. To learn more about the purpose of PEPs and how to go about writing one, please start reading at PEP 1. Note that the PEP Index (PEP 0) is automatically generated based on the metadata headers in other PEPs.
The canonical form of PEP links are zero-padded, such as
https://peps.python.org/pep-0008/.
Shortcut redirects are also available.
For example, https://peps.python.org/8 redirects to the canonical link.
See the Contributing Guidelines.
Please don't commit changes with reStructuredText syntax errors that cause PEP generation to fail, or result in major rendering defects relative to what you intend.
For every PR, we automatically create a preview of the rendered PEPs using Read the Docs. You can find it in the merge box at the bottom of the PR page:
- Click "Show all checks" to expand the checks section
- Find the line for
docs/readthedocs.org:pep-previews - Click on "Details" to the right
See the build documentation for full instructions on how to render PEPs locally. In summary, run the following in a fresh, activated virtual environment:
# Install requirements
python -m pip install -U -r requirements.txt
# Build the PEPs
make html
# Or, if you don't have 'make':
python build.pyThe output HTML is found under the build directory.
You can check for and fix common linting and spelling issues, either on-demand or automatically as you commit, with our pre-commit suite. See the Contributing Guide for details.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
