@@ -80,15 +80,15 @@ Python's Steering Council
80
80
81
81
There are several references in this PEP to the "Steering Council" or "Council".
82
82
This refers to the current members of the elected Steering Council described
83
- in PEP 13 [5]_ , in their role as the final authorities on whether or not PEPs
83
+ in :pep:`13` , in their role as the final authorities on whether or not PEPs
84
84
will be accepted or rejected.
85
85
86
86
87
87
Python's Core Developers
88
88
------------------------
89
89
90
90
There are several references in this PEP to "core developers". This refers to
91
- the currently active Python core team members described in PEP 13 [5]_ .
91
+ the currently active Python core team members described in :pep:`13` .
92
92
93
93
94
94
Python's BDFL
@@ -188,23 +188,23 @@ The standard PEP workflow is:
188
188
"Informational", or "Process" as appropriate, and for the "Status:"
189
189
field enter "Draft". For full details, see `PEP Header Preamble`_.
190
190
191
- * Update `.github/CODEOWNERS` [7 ]_ such that any co-author(s) or sponsors
191
+ * Update `.github/CODEOWNERS` [3 ]_ such that any co-author(s) or sponsors
192
192
with write access to the `PEP repository`_ are listed for your new file.
193
193
This ensures any future pull requests changing the file will be assigned
194
194
to them.
195
195
196
196
* Push this to your GitHub fork and submit a pull request.
197
197
198
198
* The PEP editors review your PR for structure, formatting, and other
199
- errors. For a reST-formatted PEP, PEP 12 is provided as a template.
199
+ errors. For a reST-formatted PEP, :pep:`12` is provided as a template.
200
200
It also provides a complete introduction to reST markup that is used
201
201
in PEPs. Approval criteria are:
202
202
203
203
* It sound and complete. The ideas must make technical sense. The
204
204
editors do not consider whether they seem likely to be accepted.
205
205
* The title accurately describes the content.
206
206
* The PEP's language (spelling, grammar, sentence structure, etc.)
207
- and code style (examples should match PEP 8 & PEP 7 ) should be
207
+ and code style (examples should match :pep:`8` & :pep:`7` ) should be
208
208
correct and conformant. The PEP will be checked for formatting
209
209
(plain text or reStructuredText) by Travis CI, and will not be
210
210
approved until this passes.
@@ -283,16 +283,16 @@ The final authority for PEP approval is the Steering Council. However, whenever
283
283
a new PEP is put forward, any core developer that believes they are suitably
284
284
experienced to make the final decision on that PEP may offer to serve as
285
285
the PEP-Delegate for that PEP, and they will then have the
286
- authority to approve (or reject) that PEP.
286
+ authority to approve (or reject) that PEP.
287
287
288
288
The term "PEP-Delegate" is used under the Steering
289
289
Council governance model. The PEP's designated decision maker,
290
290
the "PEP-Delegate" with the Steering Council's support, is
291
291
recorded in the "PEP-Delegate" field in the PEP's header. For
292
292
PEPs written prior to the Steering Council's governance model, the field name
293
293
"BDFL-Delegate" will still be kept.
294
- The terms PEP-Delegate and BDFL-Delegate may be used interchangeably in
295
- discussion. PEP-Delegate is the preferred term under the Steering Council
294
+ The terms PEP-Delegate and BDFL-Delegate may be used interchangeably in
295
+ discussion. PEP-Delegate is the preferred term under the Steering Council
296
296
governance model.
297
297
298
298
Individuals offering to serve as PEP-Delegate should notify the Steering
@@ -343,7 +343,7 @@ implementation, if applicable, must be solid and must not complicate
343
343
the interpreter unduly. Finally, a proposed enhancement must be
344
344
"pythonic" in order to be accepted by the Steering Council. (However,
345
345
"pythonic" is an imprecise term; it may be defined as whatever is acceptable to
346
- the Steering Council. This logic is intentionally circular.) See PEP 2 [2]_
346
+ the Steering Council. This logic is intentionally circular.) See :pep:`2`
347
347
for standard library module acceptance criteria.
348
348
349
349
Once a PEP has been accepted, the reference implementation must be
@@ -362,7 +362,7 @@ been included in a Python release*.
362
362
Wherever possible, it is considered preferable to reduce the scope of a proposal
363
363
to avoid the need to rely on the "Provisional" status (e.g. by deferring some
364
364
features to later PEPs), as this status can lead to version compatibility
365
- challenges in the wider Python ecosystem. PEP 411 provides additional details
365
+ challenges in the wider Python ecosystem. :pep:` 411` provides additional details
366
366
on potential use cases for the Provisional status.
367
367
368
368
A PEP can also be assigned the status "Deferred". The PEP author or an
@@ -400,7 +400,7 @@ deprecation process (which may require a new PEP providing the rationale for
400
400
the deprecation).
401
401
402
402
Some Informational and Process PEPs may also have a status of "Active"
403
- if they are never meant to be completed. E.g. PEP 1 (this PEP).
403
+ if they are never meant to be completed. E.g. :pep:`1` (this PEP).
404
404
405
405
406
406
PEP Maintenance
@@ -427,7 +427,7 @@ What belongs in a successful PEP?
427
427
428
428
Each PEP should have the following parts/sections:
429
429
430
- 1. Preamble -- RFC 822 style headers containing meta-data about the
430
+ 1. Preamble -- :rfc:`2822` style headers containing meta-data about the
431
431
PEP, including the PEP number, a short descriptive title (limited
432
432
to a maximum of 44 characters), the names, and optionally the
433
433
contact info for each author, etc.
@@ -519,17 +519,18 @@ PEP Formats and Templates
519
519
520
520
PEPs are UTF-8 encoded text files using the reStructuredText_ format.
521
521
ReStructuredText_ allows for rich markup that is still quite easy to
522
- read, but also results in good-looking and functional HTML. PEP 12
523
- contains instructions and a template [4]_ for reStructuredText PEPs.
522
+ read, but also results in good-looking and functional HTML. :pep:`12`
523
+ contains instructions and a :pep:`template <12#suggested-sections>`
524
+ for reStructuredText PEPs.
524
525
525
- The PEP text files are automatically converted to HTML [6 ]_ for easier
526
+ The PEP text files are automatically converted to HTML [2 ]_ for easier
526
527
`online reading <https://www.python.org/dev/peps/>`__.
527
528
528
529
529
530
PEP Header Preamble
530
531
===================
531
532
532
- Each PEP must begin with an RFC 822 style header preamble. The headers
533
+ Each PEP must begin with an :rfc:`2822` style header preamble. The headers
533
534
must appear in the following order. Headers marked with "*" are
534
535
optional and are described below. All other headers are required. ::
535
536
@@ -567,7 +568,7 @@ PEPs must use the mandated format above, and it is acceptable to
567
568
change to this format when PEPs are updated.
568
569
569
570
If there are multiple authors, each should be on a separate line
570
- following RFC 2822 continuation line conventions. Note that personal
571
+ following :rfc:` 2822` continuation line conventions. Note that personal
571
572
email addresses in PEPs will be obscured as a defense against spam
572
573
harvesters.
573
574
@@ -598,8 +599,8 @@ The Type header specifies the type of PEP: Standards Track,
598
599
Informational, or Process.
599
600
600
601
The format of a PEP is specified with a Content-Type header. The
601
- acceptable values are "text/plain" for plaintext PEPs (see PEP 9 [3]_ )
602
- and "text/x-rst" for reStructuredText PEPs (see PEP 12 [4]_ ).
602
+ acceptable values are "text/plain" for plaintext PEPs (see :pep:`9` )
603
+ and "text/x-rst" for reStructuredText PEPs (see :pep:`12` ).
603
604
reStructuredText is strongly preferred, but for backwards
604
605
compatibility plain text is currently still the default if no
605
606
Content-Type header is present.
@@ -709,11 +710,11 @@ For each new PEP that comes in an editor does the following:
709
710
* The file name extension is correct (i.e. ``.rst``).
710
711
711
712
* Ensure that everyone listed as a sponsor or co-author of the PEP who has write
712
- access to the `PEP repository`_ is added to `.github/CODEOWNERS` [7 ]_.
713
+ access to the `PEP repository`_ is added to `.github/CODEOWNERS` [3 ]_.
713
714
714
715
* Skim the PEP for obvious defects in language (spelling, grammar,
715
716
sentence structure, etc.), and code style (examples should conform to
716
- PEP 8 & PEP 7 ). Editors may correct problems themselves, but are
717
+ :pep:`8` & :pep:`7` ). Editors may correct problems themselves, but are
717
718
not required to do so. (Text format is checked by Travis CI.)
718
719
719
720
* If a project is portrayed as benefiting from or supporting the PEP, make sure
@@ -723,7 +724,7 @@ For each new PEP that comes in an editor does the following:
723
724
724
725
If the PEP isn't ready, an editor will send it back to the author for
725
726
revision, with specific instructions. If reST formatting is a
726
- problem, ask the author(s) to use PEP 12 as a template and resubmit.
727
+ problem, ask the author(s) to use :pep:`12` as a template and resubmit.
727
728
728
729
Once the PEP is ready for the repository, a PEP editor will:
729
730
@@ -789,23 +790,11 @@ References and Footnotes
789
790
for retrieving older revisions, and can also be browsed via HTTP here:
790
791
https://github.com/python/peps
791
792
792
- .. [2] PEP 2, Procedure for Adding New Modules
793
- (http://www.python.org/dev/peps/pep-0002)
794
-
795
- .. [3] PEP 9, Sample Plaintext PEP Template
796
- (http://www.python.org/dev/peps/pep-0009)
797
-
798
- .. [4] PEP 12, Sample reStructuredText PEP Template
799
- (http://www.python.org/dev/peps/pep-0012)
800
-
801
- .. [5] PEP 13, Python Language Governance
802
- (http://www.python.org/dev/peps/pep-0013)
803
-
804
- .. [6] More details on the PEP rendering and publication process can be found
793
+ .. [2] More details on the PEP rendering and publication process can be found
805
794
in the PEPs repo README at
806
795
https://github.com/python/peps/blob/main/README.rst
807
796
808
- .. [7 ] `CODEOWNERS` documentation
797
+ .. [3 ] `CODEOWNERS` documentation
809
798
(https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners)
810
799
811
800
.. _issue tracker:
0 commit comments