Python Enhancement Proposals
Go to file
Michael Scott Asato Cuthbert 532efdb824
PEP 661: Standardize module name (#2795)
standardize mod name

The PEP says that the module name is "sentinels" (plural) but the example imports Sentinel from the "sentinel" (singular) module.  Not absolutely sure which one is intended but recent standards (secrets, dataclasses) have used the plural.

CLA for Python signed, in case that's needed.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-11 11:37:22 +02:00
.codespell Lint: Fix outstanding codespell spelling errors (#3129) 2023-05-01 13:00:36 -06:00
.github PEP 730: Adding iOS as a supported platform (#3473) 2023-10-11 02:57:44 -06:00
docs All PEPs: Move to ``peps/`` folder (#3418) 2023-09-09 18:39:29 +01:00
infra PEP 1 and 12: Document Topic header (#2995) 2023-02-03 21:34:17 +02:00
pep_sphinx_extensions Infra: Add Python version to PEP 0 tables (#3434) 2023-09-27 15:16:17 +01:00
peps PEP 661: Standardize module name (#2795) 2023-10-11 11:37:22 +02: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 PEP 1 and 12: Remove optional Content-Type from templates (#3454) 2023-09-28 02:00:23 +01:00
.ruff.toml Lint: Add Ruff (#3429) 2023-09-09 17:33:52 +01:00
CONTRIBUTING.rst PEP 1: Stop recommending Typing-SIG (it has ceased to be!) (#3453) 2023-09-21 23:01:39 +01:00
Makefile All PEPs: Move to ``peps/`` folder (#3418) 2023-09-09 18:39:29 +01:00
README.rst Meta: Change make render to make html in docs (#3094) 2023-04-09 10:43:55 +03:00
build.py All PEPs: Move to ``peps/`` folder (#3418) 2023-09-09 18:39:29 +01:00
check-peps.py All PEPs: Move to ``peps/`` folder (#3418) 2023-09-09 18:39:29 +01:00
pytest.ini Lint: Add ``check-peps.py`` (#3275) 2023-09-05 04:44:46 +01:00
readthedocs.yaml Infra: replace feedgen/lxml dependency to test Python 3.12-dev (#2973) 2023-01-21 16:08:38 +02:00
requirements.txt Infra: replace feedgen/lxml dependency to test Python 3.12-dev (#2973) 2023-01-21 16:08:38 +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.