Skip to content

Commit 919b64a

Browse files
authored
Merge branch 'main' into asan
2 parents 67895de + 713be70 commit 919b64a

File tree

1,528 files changed

+193463
-59840
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,528 files changed

+193463
-59840
lines changed

.gitattributes

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ PCbuild/readme.txt dos
6868
**/clinic/*.cpp.h generated
6969
**/clinic/*.h.h generated
7070
*_db.h generated
71+
Doc/_static/tachyon-example-*.html generated
7172
Doc/c-api/lifecycle.dot.svg generated
7273
Doc/data/stable_abi.dat generated
7374
Doc/library/token-list.inc generated
@@ -82,14 +83,19 @@ Include/opcode.h generated
8283
Include/opcode_ids.h generated
8384
Include/token.h generated
8485
Lib/_opcode_metadata.py generated
85-
Lib/keyword.py generated
8686
Lib/idlelib/help.html generated
87+
Lib/keyword.py generated
88+
Lib/pydoc_data/topics.py generated
89+
Lib/pydoc_data/module_docs.py generated
8790
Lib/test/certdata/*.pem generated
8891
Lib/test/certdata/*.0 generated
8992
Lib/test/levenshtein_examples.json generated
9093
Lib/test/test_stable_abi_ctypes.py generated
94+
Lib/test/test_zoneinfo/data/*.json generated
9195
Lib/token.py generated
9296
Misc/sbom.spdx.json generated
97+
Modules/_testinternalcapi/test_cases.c.h generated
98+
Modules/_testinternalcapi/test_targets.h generated
9399
Objects/typeslots.inc generated
94100
PC/python3dll.c generated
95101
Parser/parser.c generated
@@ -100,6 +106,7 @@ Python/executor_cases.c.h generated
100106
Python/generated_cases.c.h generated
101107
Python/optimizer_cases.c.h generated
102108
Python/opcode_targets.h generated
109+
Python/record_functions.c.h generated
103110
Python/stdlib_module_names.h generated
104111
Tools/peg_generator/pegen/grammar_parser.py generated
105112
aclocal.m4 generated

.github/CODEOWNERS

Lines changed: 69 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@
6363
.azure-pipelines/ @AA-Turner
6464

6565
# GitHub & related scripts
66-
.github/ @ezio-melotti @hugovk @AA-Turner
67-
Tools/build/compute-changes.py @AA-Turner
68-
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg
66+
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz
67+
Tools/build/compute-changes.py @AA-Turner @hugovk @webknjaz
68+
Lib/test/test_tools/test_compute_changes.py @AA-Turner @hugovk @webknjaz
69+
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg
6970

7071
# Pre-commit
7172
.pre-commit-config.yaml @hugovk
@@ -110,6 +111,7 @@ Doc/tools/ @AA-Turner @hugovk
110111
.readthedocs.yml @AA-Turner
111112

112113
# Sections
114+
Doc/c-api/ @ZeroIntensity
113115
Doc/reference/ @willingc @AA-Turner
114116
Doc/whatsnew/ @AA-Turner
115117

@@ -126,8 +128,13 @@ Doc/howto/clinic.rst @erlend-aasland @AA-Turner
126128
# C Analyser
127129
Tools/c-analyzer/ @ericsnowcurrently
128130

131+
# C API Documentation Checks
132+
Tools/check-c-api-docs/ @ZeroIntensity
133+
129134
# Fuzzing
130-
Modules/_xxtestfuzz/ @ammaraskar
135+
Modules/_xxtestfuzz/ @python/fuzzers
136+
Lib/test/test_xxtestfuzz.py @python/fuzzers
137+
.github/workflows/reusable-cifuzz.yml @python/fuzzers
131138

132139
# Limited C API & Stable ABI
133140
Doc/c-api/stable.rst @encukou
@@ -140,6 +147,9 @@ Misc/externals.spdx.json @sethmlarson
140147
Misc/sbom.spdx.json @sethmlarson
141148
Tools/build/generate_sbom.py @sethmlarson
142149

150+
# ABI check
151+
Misc/libabigail.abignore @encukou
152+
143153

144154
# ----------------------------------------------------------------------------
145155
# Platform Support
@@ -170,9 +180,10 @@ Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
170180
Tools/wasm/emscripten @freakboy3742 @emmatyping
171181

172182
# WebAssembly (WASI)
173-
Tools/wasm/wasi-env @brettcannon @emmatyping
174-
Tools/wasm/wasi.py @brettcannon @emmatyping
175-
Tools/wasm/wasi @brettcannon @emmatyping
183+
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
184+
Tools/wasm/wasi-env @brettcannon @emmatyping @savannahostrowski
185+
Tools/wasm/wasi.py @brettcannon @emmatyping @savannahostrowski
186+
Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
176187

177188
# Windows
178189
PC/ @python/windows-team
@@ -251,45 +262,51 @@ Include/pyhash.h @gpshead @picnixz
251262
Python/pyhash.c @gpshead @picnixz
252263

253264
# The import system (including importlib)
254-
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw
255-
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @kumaraditya303
265+
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00
266+
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 @kumaraditya303
256267
**/*freeze* @ericsnowcurrently
257268
**/*frozen* @ericsnowcurrently
258269
**/*modsupport* @ericsnowcurrently
259-
**/*modulefinder* @ericsnowcurrently
270+
**/*modulefinder* @ericsnowcurrently @FFY00
260271
**/*moduleobject* @ericsnowcurrently
261272
**/*multiphase* @ericsnowcurrently
262-
**/*pkgutil* @ericsnowcurrently
273+
**/*pkgutil* @ericsnowcurrently @FFY00
263274
**/*pythonrun* @ericsnowcurrently
264-
**/*runpy* @ericsnowcurrently
275+
**/*runpy* @ericsnowcurrently @FFY00
265276
**/*singlephase* @ericsnowcurrently
266277
Doc/c-api/module.rst @ericsnowcurrently
267278
Lib/test/test_module/ @ericsnowcurrently
268-
Python/dynload_*.c @ericsnowcurrently
279+
Python/dynload_*.c @ericsnowcurrently @FFY00
269280

270281
# Initialisation
271-
**/*initconfig* @ericsnowcurrently
272-
**/*pathconfig* @ericsnowcurrently
273-
**/*preconfig* @ericsnowcurrently
282+
**/*initconfig* @ericsnowcurrently @FFY00
283+
**/*pathconfig* @ericsnowcurrently @FFY00
284+
**/*preconfig* @ericsnowcurrently @FFY00
274285
Doc/library/sys_path_init.rst @FFY00
275286
Doc/c-api/init_config.rst @FFY00
276287

277288
# Interpreter main program
278-
Modules/main.c @ericsnowcurrently
279-
Programs/_bootstrap_python.c @ericsnowcurrently
280-
Programs/python.c @ericsnowcurrently
289+
Modules/main.c @ericsnowcurrently @FFY00
290+
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
291+
Programs/python.c @ericsnowcurrently @FFY00
281292

282293
# JIT
294+
.github/workflows/jit.yml @savannahostrowski
283295
Include/internal/pycore_jit.h @brandtbucher @savannahostrowski @diegorusso
284296
Python/jit.c @brandtbucher @savannahostrowski @diegorusso
285297
Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
286298
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
287299

300+
# Lazy imports (PEP 810)
301+
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
302+
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
303+
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
304+
288305
# Micro-op / μop / Tier 2 Optimiser
289-
Python/optimizer.c @markshannon
290-
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner
291-
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner
292-
Python/optimizer_symbols.c @markshannon @tomasr8
306+
Python/optimizer.c @markshannon @Fidget-Spinner
307+
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
308+
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
309+
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
293310

294311
# Parser, Lexer, and Grammar
295312
Grammar/python.gram @pablogsal @lysnikolaou
@@ -301,8 +318,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou
301318

302319
# Runtime state/lifecycle
303320
**/*gil* @ericsnowcurrently
304-
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
305-
**/*pystate* @ericsnowcurrently @ZeroIntensity
321+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00
322+
**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00
306323
Include/internal/pycore_*_init.h @ericsnowcurrently
307324
Include/internal/pycore_*_state.h @ericsnowcurrently
308325
Include/internal/pycore_atexit.h @ericsnowcurrently
@@ -319,7 +336,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
319336
# Remote Debugging
320337
Python/remote_debug.h @pablogsal
321338
Python/remote_debugging.c @pablogsal
322-
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
339+
Modules/_remote_debugging/ @pablogsal
323340

324341
# Sub-Interpreters
325342
**/*crossinterp* @ericsnowcurrently
@@ -410,18 +427,19 @@ Lib/dataclasses.py @ericvsmith
410427
Lib/test/test_dataclasses/ @ericvsmith
411428

412429
# Dates and times
413-
Doc/**/*time.rst @pganssle @abalkin
414-
Doc/library/zoneinfo.rst @pganssle
415-
Include/datetime.h @pganssle @abalkin
416-
Include/internal/pycore_time.h @pganssle @abalkin
417-
Lib/test/test_zoneinfo/ @pganssle
418-
Lib/zoneinfo/ @pganssle
419-
Lib/*time.py @pganssle @abalkin
420-
Lib/test/datetimetester.py @pganssle @abalkin
421-
Lib/test/test_*time.py @pganssle @abalkin
422-
Modules/*zoneinfo* @pganssle
423-
Modules/*time* @pganssle @abalkin
424-
Python/pytime.c @pganssle @abalkin
430+
Doc/**/*time.rst @pganssle @abalkin @StanFromIreland
431+
Doc/library/datetime-* @pganssle @StanFromIreland
432+
Doc/library/zoneinfo.rst @pganssle @StanFromIreland
433+
Include/datetime.h @pganssle @abalkin @StanFromIreland
434+
Include/internal/pycore_time.h @pganssle @abalkin @StanFromIreland
435+
Lib/test/test_zoneinfo/ @pganssle @StanFromIreland
436+
Lib/zoneinfo/ @pganssle @StanFromIreland
437+
Lib/*time.py @pganssle @abalkin @StanFromIreland
438+
Lib/test/datetimetester.py @pganssle @abalkin @StanFromIreland
439+
Lib/test/test_*time.py @pganssle @abalkin @StanFromIreland
440+
Modules/*zoneinfo* @pganssle @StanFromIreland
441+
Modules/*time* @pganssle @abalkin @StanFromIreland
442+
Python/pytime.c @pganssle @abalkin @StanFromIreland
425443

426444
# Dbm
427445
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
@@ -460,8 +478,9 @@ Lib/test/test_functools.py @rhettinger
460478
Modules/_functoolsmodule.c @rhettinger
461479

462480
# Garbage collector
463-
Modules/gcmodule.c @pablogsal
464-
Doc/library/gc.rst @pablogsal
481+
Modules/gcmodule.c @pablogsal
482+
Doc/library/gc.rst @pablogsal
483+
InternalDocs/garbage_collector.md @pablogsal
465484

466485
# Gettext
467486
Doc/library/gettext.rst @tomasr8
@@ -488,13 +507,13 @@ Lib/idlelib/ @terryjreedy
488507
Lib/turtledemo/ @terryjreedy
489508

490509
# importlib.metadata
491-
Doc/library/importlib.metadata.rst @jaraco @warsaw
492-
Lib/importlib/metadata/ @jaraco @warsaw
493-
Lib/test/test_importlib/metadata/ @jaraco @warsaw
510+
Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00
511+
Lib/importlib/metadata/ @jaraco @warsaw @FFY00
512+
Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00
494513

495514
# importlib.resources
496-
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
497-
Doc/library/importlib.resources.rst @jaraco @warsaw
515+
Doc/library/importlib.resources.abc.rst @jaraco @warsaw @FFY00
516+
Doc/library/importlib.resources.rst @jaraco @warsaw @FFY00
498517
Lib/importlib/resources/ @jaraco @warsaw @FFY00
499518
Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00
500519

@@ -534,6 +553,11 @@ Lib/pydoc.py @AA-Turner
534553
Lib/pydoc_data/ @AA-Turner
535554
Lib/test/test_pydoc/ @AA-Turner
536555

556+
# Profiling (Sampling)
557+
Doc/library/profiling*.rst @pablogsal
558+
Lib/profiling/ @pablogsal
559+
Lib/test/test_profiling/ @pablogsal
560+
537561
# PyREPL
538562
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
539563
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv

.github/CONTRIBUTING.rst

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,12 @@ Please be aware that our workflow does deviate slightly from the typical GitHub
2828
project. Details on how to properly submit a pull request are covered in
2929
`Lifecycle of a Pull Request <https://devguide.python.org/getting-started/pull-request-lifecycle.html>`_.
3030
We utilize various bots and status checks to help with this, so do follow the
31-
comments they leave and their "Details" links, respectively. The key points of
32-
our workflow that are not covered by a bot or status check are:
31+
comments they leave and their "Details" links, respectively.
3332

34-
- All discussions that are not directly related to the code in the pull request
35-
should happen on `GitHub Issues <https://github.com/python/cpython/issues>`_.
36-
- Upon your first non-trivial pull request (which includes documentation changes),
37-
feel free to add yourself to ``Misc/ACKS``.
33+
The final key part of our workflow is that all discussions that are not
34+
directly related to the code in the pull request should happen on
35+
`GitHub Issues <https://github.com/python/cpython/issues>`__, generally in the
36+
pull request's parent issue.
3837

3938

4039
Setting Expectations

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ contact_links:
55
- name: "Proposing new features"
66
about: "Submit major feature proposal (e.g. syntax changes) to an ideas forum first."
77
url: "https://discuss.python.org/c/ideas/6"
8+
- name: "Python Install Manager issues"
9+
about: "Report issues with the Python Install Manager (for Windows)"
10+
url: "https://github.com/python/pymanager/issues"

.github/ISSUE_TEMPLATE/documentation.md

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Documentation
2+
description: Report a problem with the documentation
3+
labels: ["docs"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
> [!NOTE]
9+
> Trivial changes (for example typos) don’t require an issue before opening a PR.
10+
- type: textarea
11+
id: description
12+
attributes:
13+
label: "Documentation"
14+
description: "A clear and concise description of the issue. Include a link to the page."
15+
validations:
16+
required: true

.github/actionlint.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
self-hosted-runner:
2-
# Pending https://github.com/rhysd/actionlint/issues/533
3-
# and https://github.com/rhysd/actionlint/issues/571
4-
labels: ["windows-11-arm", "macos-15-intel"]
5-
61
config-variables: null
72

83
paths:

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,17 @@ updates:
1212
update-types:
1313
- "version-update:semver-minor"
1414
- "version-update:semver-patch"
15+
cooldown:
16+
# https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
17+
# Cooldowns protect against supply chain attacks by avoiding the
18+
# highest-risk window immediately after new releases.
19+
default-days: 14
1520
- package-ecosystem: "pip"
1621
directory: "/Tools/"
1722
schedule:
1823
interval: "monthly"
1924
labels:
2025
- "skip issue"
2126
- "skip news"
27+
cooldown:
28+
default-days: 14

.github/workflows/add-issue-header.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
issues: write
2121
timeout-minutes: 5
2222
steps:
23-
- uses: actions/github-script@v7
23+
- uses: actions/github-script@v8
2424
with:
2525
# language=JavaScript
2626
script: |

0 commit comments

Comments
 (0)