Skip to content

Commit 5c16ed2

Browse files
authored
Merge branch 'main' into 694-woodruff-dpo
2 parents 432727f + f7d08a0 commit 5c16ed2

21 files changed

+547
-165
lines changed

.github/CODEOWNERS

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ peps/pep-0557.rst @ericvsmith
431431
peps/pep-0558.rst @ncoghlan
432432
peps/pep-0559.rst @warsaw
433433
peps/pep-0560.rst @ilevkivskyi
434-
# peps/pep-0561.rst
434+
peps/pep-0561.rst @emmatyping
435435
peps/pep-0562.rst @ilevkivskyi
436436
peps/pep-0563.rst @ambv
437437
peps/pep-0564.rst @vstinner
@@ -636,7 +636,7 @@ peps/pep-0755.rst @warsaw
636636
peps/pep-0756.rst @vstinner
637637
peps/pep-0757.rst @vstinner
638638
peps/pep-0758.rst @pablogsal @brettcannon
639-
peps/pep-0759.rst @warsaw
639+
peps/pep-0759.rst @warsaw @emmatyping
640640
peps/pep-0760.rst @pablogsal @brettcannon
641641
peps/pep-0761.rst @sethmlarson @hugovk
642642
peps/pep-0762.rst @pablogsal @ambv @lysnikolaou @emilyemorehouse
@@ -654,15 +654,15 @@ peps/pep-0773.rst @zooba
654654
peps/pep-0774.rst @savannahostrowski
655655
peps/pep-0775.rst @encukou
656656
peps/pep-0776.rst @hoodmane @ambv
657-
peps/pep-0777.rst @warsaw
658-
peps/pep-0778.rst @warsaw
657+
peps/pep-0777.rst @warsaw @emmatyping
658+
peps/pep-0778.rst @warsaw @emmatyping
659659
# ...
660660
peps/pep-0779.rst @Yhg1s @colesbury @mpage
661661
peps/pep-0780.rst @lysnikolaou
662662
peps/pep-0781.rst @methane
663663
peps/pep-0782.rst @vstinner
664664
peps/pep-0783.rst @hoodmane @ambv
665-
peps/pep-0784.rst @gpshead
665+
peps/pep-0784.rst @gpshead @emmatyping
666666
peps/pep-0785.rst @gpshead
667667
# ...
668668
peps/pep-0787.rst @ncoghlan
@@ -677,6 +677,7 @@ peps/pep-0798.rst @JelleZijlstra
677677
peps/pep-0799.rst @pablogsal
678678
peps/pep-0800.rst @JelleZijlstra
679679
peps/pep-0801.rst @warsaw
680+
peps/pep-0802.rst @AA-Turner
680681
# ...
681682
peps/pep-2026.rst @hugovk
682683
# ...

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ You can find it in the merge box at the bottom of the PR page:
4949
Render PEPs locally
5050
-------------------
5151

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

peps/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
"py3.12": ("https://docs.python.org/3.12/", None),
7474
"py3.13": ("https://docs.python.org/3.13/", None),
7575
"py3.14": ("https://docs.python.org/3.14/", None),
76+
"py3.15": ("https://docs.python.org/3.15/", None),
7677
"python": ("https://docs.python.org/3/", None),
7778
"trio": ("https://trio.readthedocs.io/en/latest/", None),
7879
"typing": ("https://typing.python.org/en/latest/", None),

peps/contents.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ This is an internal Sphinx page; please go to the :doc:`PEP Index <pep-0000>`.
1515
:caption: PEP Table of Contents (needed for Sphinx):
1616

1717
api/*
18+
docs/*
1819
topic/*
1920
numerical
2021
pep-*
File renamed without changes.

peps/docs/index.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
..
2+
We can't use :pep:`N` references in this document, as they use links relative
3+
to the current file, which doesn't work in a subdirectory like this one.
4+
5+
PEPs Internal Documentation
6+
===========================
7+
8+
This is documentation for the internals of the PEPs website and PEP rendering
9+
system. To read the PEPs, see the :doc:`PEP Index <../pep-0000>`.
10+
11+
------------------------------------------------------------------------------
12+
13+
* :doc:`Building PEPs Locally <./build>`
14+
* :doc:`An Overview of the PEP Rendering System <./rendering_system>`
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ The configuration:
3535
----------------
3636

3737
``build.py`` manages the rendering process.
38-
Usage is covered in `Building PEPs Locally <./build.rst>`_.
38+
Usage is covered in :doc:`Building PEPs Locally <./build>`.
3939

4040

4141
3. Extension

peps/pep-0001.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,10 +574,14 @@ Each PEP should have the following parts/sections:
574574
ready for consideration are complete and reduces people duplicating
575575
prior discussion.
576576

577-
12. Footnotes -- A collection of footnotes cited in the PEP, and
577+
12. Acknowledgements -- Useful to thank and acknowledge people who have helped
578+
develop, discuss, or draft the PEP, or for any other purpose. The section
579+
can be used to recognise contributors to the work who are not co-authors.
580+
581+
13. Footnotes -- A collection of footnotes cited in the PEP, and
578582
a place to list non-inline hyperlink targets.
579583

580-
13. Copyright/license -- Each new PEP must be placed under a dual license of
584+
14. Copyright/license -- Each new PEP must be placed under a dual license of
581585
public domain and CC0-1.0-Universal_ (see this PEP for an example).
582586

583587

peps/pep-0012/pep-NNNN.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ Open Issues
7676
[Any points that are still being decided/discussed.]
7777

7878

79+
Acknowledgements
80+
================
81+
82+
[Thank anyone who has helped with the PEP.]
83+
84+
7985
Footnotes
8086
=========
8187

peps/pep-0101.rst

Lines changed: 27 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -146,19 +146,17 @@ release. The roles and their current experts are:
146146
In rare cases where the expert for Windows or Mac is MIA, you may add
147147
a message "(Platform) binaries will be provided shortly" and proceed.
148148

149-
As much as possible, the release steps are automated and guided by the
150-
release script, which is available in a separate repository:
151-
`python/release-tools`_.
152-
153149
We use the following conventions in the examples below. Where a release
154150
number is given, it is of the form ``3.X.YaN``, e.g. 3.13.0a3 for Python 3.13.0
155151
alpha 3, where "a" == alpha, "b" == beta, "rc" == release candidate.
156152

157153
Release tags are named ``v3.X.YaN``. The branch name for minor release
158154
maintenance branches is ``3.X``.
159155

160-
This helps by performing several automatic editing steps, and guides you
161-
to perform some manual editing steps.
156+
As much as possible, the release is automated and guided by the
157+
``run_release.py`` script, which is available in a separate repository:
158+
`python/release-tools`_. This helps by automating many of the following steps,
159+
and guides you to perform some manual steps.
162160

163161
- Log into Discord and join the Python Core Devs server. Ask Thomas
164162
or Łukasz for an invite.
@@ -287,55 +285,34 @@ to perform some manual editing steps.
287285
- For **begin security-only mode** and **end-of-life** releases, review the
288286
two files and update the versions accordingly in all active branches.
289287

290-
- Time to build the source tarball. Use the release script to create
291-
the source gzip and xz tarballs,
292-
documentation tar and zip files, and GPG signature files::
293-
294-
.../release-tools/release.py --export 3.X.YaN
295-
296-
This can take a while for **final** releases, and it will leave all the
297-
tarballs and signatures in a subdirectory called ``3.X.YaN/src``, and the
298-
built docs in ``3.X.YaN/docs`` (for **final** releases).
299-
300-
Note that the script will sign your release with Sigstore. Use
301-
your **@python.org** email address for this. See here for more information:
302-
https://www.python.org/download/sigstore/.
288+
- Push your commits to the remote release branch in your GitHub fork::
303289

304-
- Now you want to perform the very important step of checking the
305-
tarball you just created, to make sure a completely clean,
306-
virgin build passes the regression test. Here are the best
307-
steps to take::
290+
# Do a dry run first.
291+
git push --dry-run --tags origin
292+
# Make sure you are pushing to your GitHub fork,
293+
# *not* to the main python/cpython repo!
294+
git push --tags origin
308295

309-
cd /tmp
310-
tar xvf /path/to/your/release/clone/<version>//Python-3.2rc2.tgz
311-
cd Python-3.2rc2
312-
ls
313-
# (Do things look reasonable?)
314-
ls Lib
315-
# (Are there stray .pyc files?)
316-
./configure
317-
# (Loads of configure output)
318-
make test
319-
# (Do all the expected tests pass?)
296+
- In `python/release-tools`_, go to the `build-release
297+
<https://github.com/python/release-tools/actions/workflows/build-release.yml>`__
298+
workflow, select "Run workflow", and enter the details of the tag you just
299+
created. This will perform the following steps:
320300

321-
If you're feeling lucky and have some time to kill, or if you are making
322-
a release candidate or **final** release, run the full test suite::
301+
- Create the source gzip and xz tarballs.
302+
- Create the documentation tar and zip files.
303+
- Check the source tarball to make sure a completely clean, virgin build
304+
passes the regression test.
305+
- Build and test the Android binaries (if Python 3.14 or later).
323306

324-
make buildbottest
307+
The resulting artifacts will be attached to the summary page of the GitHub
308+
workflow. Once the source tarball is available, download and unpack it to make
309+
sure things look reasonable, there are no stray .pyc files, etc.
325310

326311
If the tests pass, then you can feel good that the tarball is
327312
fine. If some of the tests fail, or anything else about the
328313
freshly unpacked directory looks weird, you better stop now and
329314
figure out what the problem is.
330315

331-
- Push your commits to the remote release branch in your GitHub fork::
332-
333-
# Do a dry run first.
334-
git push --dry-run --tags origin
335-
# Make sure you are pushing to your GitHub fork,
336-
# *not* to the main python/cpython repo!
337-
git push --tags origin
338-
339316
- Notify the experts that they can start building binaries.
340317

341318
.. warning::
@@ -374,8 +351,9 @@ to perform some manual editing steps.
374351
- The ME builds Mac installer packages and uploads them to
375352
downloads.nyc1.psf.io together with GPG signature files.
376353

377-
- ``scp`` or ``rsync`` all the files built by ``release.py --export``
378-
to your home directory on ``downloads.nyc1.psf.io``.
354+
- ``scp`` or ``rsync`` all the files built by the build-release workflow
355+
to your home directory on ``downloads.nyc1.psf.io``, along with any
356+
signatures, SBOMs, etc.
379357

380358
While you're waiting for the files to finish uploading, you can continue
381359
on with the remaining tasks. You can also ask folks on Discord
@@ -390,8 +368,8 @@ to perform some manual editing steps.
390368
creating it if necessary. Make sure it is owned by group ``downloads``
391369
and group-writable.
392370

393-
- Move the release ``.tgz``, and ``.tar.xz`` files into place, as well as the
394-
``.asc`` GPG signature files. The Win/Mac binaries are usually put there
371+
- Take the files you uploaded to your home directory above, and move them
372+
into the release directory. The Win/Mac binaries are usually put there
395373
by the experts themselves.
396374

397375
Make sure they are world readable. They should also be group

0 commit comments

Comments
 (0)