Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit f4ad064

Browse filesBrowse files
authored
Merge branch 'main' into queue-shutdown
2 parents 66efd9c + e5b8b19 commit f4ad064
Copy full SHA for f4ad064

File tree

Expand file treeCollapse file tree

758 files changed

+34638
-19798
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree

758 files changed

+34638
-19798
lines changed

‎.devcontainer/Dockerfile

Copy file name to clipboardExpand all lines: .devcontainer/Dockerfile
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ ENV WASMTIME_HOME=/opt/wasmtime
99
ENV WASMTIME_VERSION=7.0.0
1010
ENV WASMTIME_CPU_ARCH=x86_64
1111

12-
RUN dnf -y --nodocs install git clang xz python3-blurb dnf-plugins-core && \
13-
dnf -y --nodocs builddep python3 && \
12+
RUN dnf -y --nodocs --setopt=install_weak_deps=False install /usr/bin/{blurb,clang,curl,git,ln,tar,xz} 'dnf-command(builddep)' && \
13+
dnf -y --nodocs --setopt=install_weak_deps=False builddep python3 && \
1414
dnf -y clean all
1515

1616
RUN mkdir ${WASI_SDK_PATH} && \

‎.gitattributes

Copy file name to clipboardExpand all lines: .gitattributes
+4Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ Lib/test/test_importlib/resources/data01/* noeol
3232
Lib/test/test_importlib/resources/namespacedata01/* noeol
3333
Lib/test/xmltestdata/* noeol
3434

35+
# Shell scripts should have LF even on Windows because of Cygwin
36+
Lib/venv/scripts/common/activate text eol=lf
37+
Lib/venv/scripts/posix/* text eol=lf
38+
3539
# CRLF files
3640
[attr]dos text eol=crlf
3741

‎.github/CODEOWNERS

Copy file name to clipboardExpand all lines: .github/CODEOWNERS
+4-6Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
configure* @erlend-aasland @corona10
1212

1313
# asyncio
14-
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303
14+
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303 @willingc
1515

1616
# Core
1717
**/*context* @1st1
@@ -25,6 +25,8 @@ Objects/frameobject.c @markshannon
2525
Objects/call.c @markshannon
2626
Python/ceval.c @markshannon
2727
Python/compile.c @markshannon @iritkatriel
28+
Python/assemble.c @markshannon @iritkatriel
29+
Python/flowgraph.c @markshannon @iritkatriel
2830
Python/ast_opt.c @isidentical
2931
Lib/test/test_patma.py @brandtbucher
3032
Lib/test/test_peepholer.py @brandtbucher
@@ -61,11 +63,7 @@ Python/traceback.c @iritkatriel
6163
/Tools/build/parse_html5_entities.py @ezio-melotti
6264

6365
# Import (including importlib).
64-
# Ignoring importlib.h so as to not get flagged on
65-
# all pull requests that change the emitted
66-
# bytecode.
67-
**/*import*.c @brettcannon @encukou @ericsnowcurrently @ncoghlan @warsaw
68-
**/*import*.py @brettcannon @encukou @ericsnowcurrently @ncoghlan @warsaw
66+
**/*import* @brettcannon @encukou @ericsnowcurrently @ncoghlan @warsaw
6967
**/*importlib/resources/* @jaraco @warsaw @FFY00
7068
**/importlib/metadata/* @jaraco @warsaw
7169

‎.github/workflows/build.yml

Copy file name to clipboardExpand all lines: .github/workflows/build.yml
+12-2Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ jobs:
3333
check_source:
3434
name: 'Check for source changes'
3535
runs-on: ubuntu-latest
36+
timeout-minutes: 10
3637
outputs:
3738
run_tests: ${{ steps.check.outputs.run_tests }}
3839
steps:
@@ -63,6 +64,7 @@ jobs:
6364
check_generated_files:
6465
name: 'Check if generated files are up to date'
6566
runs-on: ubuntu-latest
67+
timeout-minutes: 60
6668
needs: check_source
6769
if: needs.check_source.outputs.run_tests == 'true'
6870
steps:
@@ -118,6 +120,7 @@ jobs:
118120
build_win32:
119121
name: 'Windows (x86)'
120122
runs-on: windows-latest
123+
timeout-minutes: 60
121124
needs: check_source
122125
if: needs.check_source.outputs.run_tests == 'true'
123126
env:
@@ -126,7 +129,6 @@ jobs:
126129
- uses: actions/checkout@v3
127130
- name: Build CPython
128131
run: .\PCbuild\build.bat -e -d -p Win32
129-
timeout-minutes: 30
130132
- name: Display build info
131133
run: .\python.bat -m test.pythoninfo
132134
- name: Tests
@@ -135,6 +137,7 @@ jobs:
135137
build_win_amd64:
136138
name: 'Windows (x64)'
137139
runs-on: windows-latest
140+
timeout-minutes: 60
138141
needs: check_source
139142
if: needs.check_source.outputs.run_tests == 'true'
140143
env:
@@ -145,7 +148,6 @@ jobs:
145148
run: echo "::add-matcher::.github/problem-matchers/msvc.json"
146149
- name: Build CPython
147150
run: .\PCbuild\build.bat -e -d -p x64
148-
timeout-minutes: 30
149151
- name: Display build info
150152
run: .\python.bat -m test.pythoninfo
151153
- name: Tests
@@ -154,6 +156,7 @@ jobs:
154156
build_macos:
155157
name: 'macOS'
156158
runs-on: macos-latest
159+
timeout-minutes: 60
157160
needs: check_source
158161
if: needs.check_source.outputs.run_tests == 'true'
159162
env:
@@ -184,6 +187,7 @@ jobs:
184187
build_ubuntu:
185188
name: 'Ubuntu'
186189
runs-on: ubuntu-20.04
190+
timeout-minutes: 60
187191
needs: check_source
188192
if: needs.check_source.outputs.run_tests == 'true'
189193
env:
@@ -241,6 +245,7 @@ jobs:
241245
build_ubuntu_ssltests:
242246
name: 'Ubuntu SSL tests with OpenSSL'
243247
runs-on: ubuntu-20.04
248+
timeout-minutes: 60
244249
needs: check_source
245250
if: needs.check_source.outputs.run_tests == 'true'
246251
strategy:
@@ -290,6 +295,7 @@ jobs:
290295
build_asan:
291296
name: 'Address sanitizer'
292297
runs-on: ubuntu-20.04
298+
timeout-minutes: 60
293299
needs: check_source
294300
if: needs.check_source.outputs.run_tests == 'true'
295301
env:
@@ -302,6 +308,10 @@ jobs:
302308
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
303309
- name: Install Dependencies
304310
run: sudo ./.github/workflows/posix-deps-apt.sh
311+
- name: Set up GCC-10 for ASAN
312+
uses: egor-tensin/setup-gcc@v1
313+
with:
314+
version: 10
305315
- name: Configure OpenSSL env vars
306316
run: |
307317
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV

‎.github/workflows/build_msi.yml

Copy file name to clipboardExpand all lines: .github/workflows/build_msi.yml
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
build:
2727
name: Windows Installer
2828
runs-on: windows-latest
29+
timeout-minutes: 60
2930
strategy:
3031
matrix:
3132
type: [x86, x64, arm64]

‎.github/workflows/doc.yml

Copy file name to clipboardExpand all lines: .github/workflows/doc.yml
+24Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ jobs:
3636
build_doc:
3737
name: 'Docs'
3838
runs-on: ubuntu-latest
39+
timeout-minutes: 60
3940
steps:
4041
- uses: actions/checkout@v3
4142
- name: Register Sphinx problem matcher
@@ -55,11 +56,13 @@ jobs:
5556

5657
# Add pull request annotations for Sphinx nitpicks (missing references)
5758
- name: 'Get list of changed files'
59+
if: github.event_name == 'pull_request'
5860
id: changed_files
5961
uses: Ana06/get-changed-files@v2.2.0
6062
with:
6163
filter: "Doc/**"
6264
- name: 'Build changed files in nit-picky mode'
65+
if: github.event_name == 'pull_request'
6366
continue-on-error: true
6467
run: |
6568
# Mark files the pull request modified
@@ -76,10 +79,31 @@ jobs:
7679
# Build docs with the '-n' (nit-picky) option, convert warnings to errors (-W)
7780
make -C Doc/ PYTHON=../python SPHINXOPTS="-q -n -W --keep-going" html 2>&1
7881
82+
# This build doesn't use problem matchers or check annotations
83+
# It also does not run 'make check', as sphinx-lint is not installed into the
84+
# environment.
85+
build_doc_oldest_supported_sphinx:
86+
name: 'Docs (Oldest Sphinx)'
87+
runs-on: ubuntu-latest
88+
timeout-minutes: 60
89+
steps:
90+
- uses: actions/checkout@v3
91+
- name: 'Set up Python'
92+
uses: actions/setup-python@v4
93+
with:
94+
python-version: '3.11' # known to work with Sphinx 3.2
95+
cache: 'pip'
96+
cache-dependency-path: 'Doc/requirements-oldest-sphinx.txt'
97+
- name: 'Install build dependencies'
98+
run: make -C Doc/ venv REQUIREMENTS="requirements-oldest-sphinx.txt"
99+
- name: 'Build HTML documentation'
100+
run: make -C Doc/ SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" html
101+
79102
# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
80103
doctest:
81104
name: 'Doctest'
82105
runs-on: ubuntu-latest
106+
timeout-minutes: 60
83107
steps:
84108
- uses: actions/checkout@v3
85109
- name: Register Sphinx problem matcher
+27Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Read the Docs PR preview
2+
# Automatically edits a pull request's descriptions with a link
3+
# to the documentation's preview on Read the Docs.
4+
5+
on:
6+
pull_request_target:
7+
types:
8+
- opened
9+
paths:
10+
- 'Doc/**'
11+
- '.github/workflows/doc.yml'
12+
13+
permissions:
14+
pull-requests: write
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
documentation-links:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: readthedocs/actions/preview@v1
25+
with:
26+
project-slug: "cpython-previews"
27+
single-version: "true"

‎.github/workflows/new-bugs-announce-notifier.yml

Copy file name to clipboardExpand all lines: .github/workflows/new-bugs-announce-notifier.yml
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ permissions:
1111
jobs:
1212
notify-new-bugs-announce:
1313
runs-on: ubuntu-latest
14+
timeout-minutes: 10
1415
steps:
1516
- uses: actions/setup-node@v3
1617
with:

‎.github/workflows/project-updater.yml

Copy file name to clipboardExpand all lines: .github/workflows/project-updater.yml
+2-3Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,15 @@ jobs:
1313
add-to-project:
1414
name: Add issues to projects
1515
runs-on: ubuntu-latest
16+
timeout-minutes: 10
1617
strategy:
1718
matrix:
1819
include:
1920
# if an issue has any of these labels, it will be added
2021
# to the corresponding project
2122
- { project: 2, label: "release-blocker, deferred-blocker" }
22-
- { project: 3, label: expert-subinterpreters }
23-
- { project: 29, label: expert-asyncio }
2423
- { project: 32, label: sprint }
25-
24+
2625
steps:
2726
- uses: actions/add-to-project@v0.1.0
2827
with:

‎.github/workflows/require-pr-label.yml

Copy file name to clipboardExpand all lines: .github/workflows/require-pr-label.yml
+3-2Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ on:
66

77
jobs:
88
label:
9-
name: DO-NOT-MERGE
9+
name: DO-NOT-MERGE / unresolved review
1010
runs-on: ubuntu-latest
11+
timeout-minutes: 10
1112

1213
steps:
1314
- uses: mheap/github-action-required-labels@v4
1415
with:
1516
mode: exactly
1617
count: 0
17-
labels: "DO-NOT-MERGE"
18+
labels: "DO-NOT-MERGE, awaiting changes, awaiting change review"

‎.github/workflows/stale.yml

Copy file name to clipboardExpand all lines: .github/workflows/stale.yml
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ jobs:
1212
if: github.repository_owner == 'python'
1313

1414
runs-on: ubuntu-latest
15+
timeout-minutes: 10
1516

1617
steps:
1718
- name: "Check PRs"

‎.github/workflows/verify-ensurepip-wheels.yml

Copy file name to clipboardExpand all lines: .github/workflows/verify-ensurepip-wheels.yml
+3-2Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Verify bundled pip and setuptools
1+
name: Verify bundled wheels
22

33
on:
44
workflow_dispatch:
@@ -23,10 +23,11 @@ concurrency:
2323
jobs:
2424
verify:
2525
runs-on: ubuntu-latest
26+
timeout-minutes: 10
2627
steps:
2728
- uses: actions/checkout@v3
2829
- uses: actions/setup-python@v4
2930
with:
3031
python-version: '3'
31-
- name: Compare checksums of bundled pip and setuptools to ones published on PyPI
32+
- name: Compare checksum of bundled wheels to the ones published on PyPI
3233
run: ./Tools/build/verify_ensurepip_wheels.py

‎.mailmap

Copy file name to clipboard
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# This file sets the canonical name for contributors to the repository.
2+
# Documentation: https://git-scm.com/docs/gitmailmap
3+
Amethyst Reese <amethyst@n7.gg> <john@noswap.com>

‎.readthedocs.yml

Copy file name to clipboard
+18Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Read the Docs configuration file
2+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3+
# Project page: https://readthedocs.org/projects/cpython-previews/
4+
5+
version: 2
6+
7+
sphinx:
8+
configuration: Doc/conf.py
9+
10+
build:
11+
os: ubuntu-22.04
12+
tools:
13+
python: "3"
14+
15+
commands:
16+
- make -C Doc venv html
17+
- mkdir _readthedocs
18+
- mv Doc/build/html _readthedocs/html

‎Doc/Makefile

Copy file name to clipboardExpand all lines: Doc/Makefile
+3-2Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ JOBS = auto
1313
PAPER =
1414
SOURCES =
1515
DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py)
16+
REQUIREMENTS = requirements.txt
1617
SPHINXERRORHANDLING = -W
1718

1819
# Internal variables.
@@ -154,8 +155,8 @@ venv:
154155
echo "To recreate it, remove it first with \`make clean-venv'."; \
155156
else \
156157
$(PYTHON) -m venv $(VENVDIR); \
157-
$(VENVDIR)/bin/python3 -m pip install -U pip setuptools; \
158-
$(VENVDIR)/bin/python3 -m pip install -r requirements.txt; \
158+
$(VENVDIR)/bin/python3 -m pip install --upgrade pip; \
159+
$(VENVDIR)/bin/python3 -m pip install -r $(REQUIREMENTS); \
159160
echo "The venv has been created in the $(VENVDIR) directory"; \
160161
fi
161162

‎Doc/c-api/bytearray.rst

Copy file name to clipboardExpand all lines: Doc/c-api/bytearray.rst
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Byte Array Objects
66
------------------
77

8-
.. index:: object: bytearray
8+
.. index:: pair: object; bytearray
99

1010

1111
.. c:type:: PyByteArrayObject

‎Doc/c-api/bytes.rst

Copy file name to clipboardExpand all lines: Doc/c-api/bytes.rst
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Bytes Objects
88
These functions raise :exc:`TypeError` when expecting a bytes parameter and
99
called with a non-bytes parameter.
1010

11-
.. index:: object: bytes
11+
.. index:: pair: object; bytes
1212

1313

1414
.. c:type:: PyBytesObject

‎Doc/c-api/capsule.rst

Copy file name to clipboardExpand all lines: Doc/c-api/capsule.rst
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Capsules
66
--------
77

8-
.. index:: object: Capsule
8+
.. index:: pair: object; Capsule
99

1010
Refer to :ref:`using-capsules` for more information on using these objects.
1111

‎Doc/c-api/complex.rst

Copy file name to clipboardExpand all lines: Doc/c-api/complex.rst
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Complex Number Objects
66
----------------------
77

8-
.. index:: object: complex number
8+
.. index:: pair: object; complex number
99

1010
Python's complex number objects are implemented as two distinct types when
1111
viewed from the C API: one is the Python object exposed to Python programs, and

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.