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 `_. 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.