Python Enhancement Proposals
Go to file
Jean K a88e675cf9
Update punctuation in README.rst (#3587)
2023-12-13 12:36:49 -08:00
.codespell Meta: Update pre-commit to fix Sphinx Lint (#3585) 2023-12-12 17:06:18 +00:00
.github PEP 737: Unify type name formatting (#3554) 2023-11-29 13:44:54 +01:00
docs Infra: Refactor Makefile (#3514) 2023-11-03 01:24:48 -06:00
infra PEP 1 and 12: Document Topic header (#2995) 2023-02-03 21:34:17 +02:00
pep_sphinx_extensions PEP 8: Add green and red sidbar for good and bad examples (#3567) 2023-12-09 09:19:37 -07:00
peps PEP 8105: Publish final and complete results (#3584) 2023-12-12 12:20:36 +00:00
.codespellrc Add configuration for running `codespell` locally (#2151) 2022-01-24 23:40:15 +00:00
.gitattributes Meta: Instruct linguist to include PEPs in the statistics (#3430) 2023-09-09 19:58:51 +01:00
.gitignore Add sphinx-warnings.txt to .gitignore 2023-10-09 15:05:31 +02:00
.pre-commit-config.yaml Meta: Update pre-commit to fix Sphinx Lint (#3585) 2023-12-12 17:06:18 +00:00
.readthedocs.yaml Infra: Build RTD previews with latest Python (#3538) 2023-11-28 07:01:15 -08:00
.ruff.toml Lint: Add Ruff (#3429) 2023-09-09 17:33:52 +01:00
CONTRIBUTING.rst Meta: Update pre-commit to fix Sphinx Lint (#3585) 2023-12-12 17:06:18 +00:00
Makefile Infra: `make htmllive`: open browser when ready (#3558) 2023-12-01 18:47:36 +02:00
README.rst Update punctuation in README.rst (#3587) 2023-12-13 12:36:49 -08:00
build.py All PEPs: Move to ``peps/`` folder (#3418) 2023-09-09 18:39:29 +01:00
check-peps.py Infra: Make check-peps’ _validate_post_history crash less (#3511) 2023-10-28 16:23:55 -07:00
pytest.ini Lint: Add ``check-peps.py`` (#3275) 2023-09-05 04:44:46 +01:00
requirements.txt Infra: Add `make htmllive` to rebuild and reload HTML files in your browser (#3521) 2023-11-12 13:48:34 +02:00
tox.ini Lint: Update outdated package dependencies & reformat files (#3291) 2023-08-16 08:07:57 +03:00

README.rst

Python Enhancement Proposals
============================

.. image:: https://github.com/python/peps/actions/workflows/render.yml/badge.svg
    :target: https://github.com/python/peps/actions

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.


Canonical links
===============

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.


Contributing to PEPs
====================

See the `Contributing Guidelines <./CONTRIBUTING.rst>`_.


Checking PEP formatting and rendering
=====================================

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.


Browse the ReadTheDocs preview
------------------------------

For every PR, we automatically create a preview of the rendered PEPs using
`ReadTheDocs <https://readthedocs.org/>`_.
You can find it in the merge box at the bottom of the PR page:

1. Click "Show all checks" to expand the checks section
2. Find the line for ``docs/readthedocs.org:pep-previews``
3. Click on "Details" to the right


Render PEPs locally
-------------------

See the `build documentation <./docs/build.rst>`__ for full
instructions on how to render PEPs locally.
In summary, run the following in a fresh, activated virtual environment:

.. code-block:: bash

    # Install requirements
    python -m pip install -U -r requirements.txt

    # Build the PEPs
    make html

    # Or, if you don't have 'make':
    python build.py

The output HTML is found under the ``build`` directory.


Check and lint PEPs
-------------------

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 <./CONTRIBUTING.rst>`_ for details.