Skip to content

Commit ff24e32

Browse files
Merge branch 'main' into gh-143005-ctypes-class-safety
2 parents ab67884 + 2d3dec0 commit ff24e32

1,767 files changed

Lines changed: 163562 additions & 64250 deletions

File tree

Some content is hidden

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

.gitattributes

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ Lib/test/xmltestdata/* noeol
3434
Lib/venv/scripts/common/activate text eol=lf
3535
Lib/venv/scripts/posix/* text eol=lf
3636

37+
# Prevent GitHub's web conflict editor from converting LF to CRLF
38+
*.rst text eol=lf
39+
3740
# CRLF files
3841
[attr]dos text eol=crlf
3942

@@ -81,6 +84,7 @@ Include/internal/pycore_uop_ids.h generated
8184
Include/internal/pycore_uop_metadata.h generated
8285
Include/opcode.h generated
8386
Include/opcode_ids.h generated
87+
Include/slots_generated.h generated
8488
Include/token.h generated
8589
Lib/_opcode_metadata.py generated
8690
Lib/idlelib/help.html generated
@@ -94,7 +98,8 @@ Lib/test/test_stable_abi_ctypes.py generated
9498
Lib/test/test_zoneinfo/data/*.json generated
9599
Lib/token.py generated
96100
Misc/sbom.spdx.json generated
97-
Objects/typeslots.inc generated
101+
Modules/_testinternalcapi/test_cases.c.h generated
102+
Modules/_testinternalcapi/test_targets.h generated
98103
PC/python3dll.c generated
99104
Parser/parser.c generated
100105
Parser/token.c generated
@@ -104,8 +109,11 @@ Python/executor_cases.c.h generated
104109
Python/generated_cases.c.h generated
105110
Python/optimizer_cases.c.h generated
106111
Python/opcode_targets.h generated
112+
Python/record_functions.c.h generated
113+
Python/slots_generated.c generated
107114
Python/stdlib_module_names.h generated
108115
Tools/peg_generator/pegen/grammar_parser.py generated
109116
aclocal.m4 generated
110117
configure generated
111118
*.min.js generated
119+
package-lock.json generated

.github/CODEOWNERS

Lines changed: 63 additions & 51 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
@@ -99,17 +100,18 @@ Lib/test/test_build_details.py @FFY00
99100
InternalDocs/ @AA-Turner
100101

101102
# Tools, Configuration, etc
102-
Doc/Makefile @AA-Turner @hugovk
103-
Doc/_static/ @AA-Turner @hugovk
104-
Doc/conf.py @AA-Turner @hugovk
105-
Doc/make.bat @AA-Turner @hugovk
106-
Doc/requirements.txt @AA-Turner @hugovk
107-
Doc/tools/ @AA-Turner @hugovk
103+
Doc/Makefile @AA-Turner @hugovk @StanFromIreland
104+
Doc/_static/ @AA-Turner @hugovk @StanFromIreland
105+
Doc/conf.py @AA-Turner @hugovk @StanFromIreland
106+
Doc/make.bat @AA-Turner @hugovk @StanFromIreland
107+
Doc/requirements.txt @AA-Turner @hugovk @StanFromIreland
108+
Doc/tools/ @AA-Turner @hugovk @StanFromIreland
108109

109110
# PR Previews
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

@@ -130,7 +132,9 @@ Tools/c-analyzer/ @ericsnowcurrently
130132
Tools/check-c-api-docs/ @ZeroIntensity
131133

132134
# Fuzzing
133-
Modules/_xxtestfuzz/ @ammaraskar
135+
Modules/_xxtestfuzz/ @python/fuzzers
136+
Lib/test/test_xxtestfuzz.py @python/fuzzers
137+
.github/workflows/reusable-cifuzz.yml @python/fuzzers
134138

135139
# Limited C API & Stable ABI
136140
Doc/c-api/stable.rst @encukou
@@ -152,16 +156,15 @@ Misc/libabigail.abignore @encukou
152156
# ----------------------------------------------------------------------------
153157

154158
# Android
155-
Android/ @mhsmith @freakboy3742
159+
Platforms/Android/ @mhsmith @freakboy3742
156160
Doc/using/android.rst @mhsmith @freakboy3742
157161
Lib/_android_support.py @mhsmith @freakboy3742
158162
Lib/test/test_android.py @mhsmith @freakboy3742
159163

160164
# iOS
161165
Doc/using/ios.rst @freakboy3742
162166
Lib/_ios_support.py @freakboy3742
163-
Apple/ @freakboy3742
164-
iOS/ @freakboy3742
167+
Platforms/Apple/ @freakboy3742
165168

166169
# macOS
167170
Mac/ @python/macos-team
@@ -172,10 +175,11 @@ Lib/test/test__osx_support.py @python/macos-team
172175
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
173176

174177
# WebAssembly (Emscripten)
175-
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
176-
Tools/wasm/emscripten @freakboy3742 @emmatyping
178+
Platforms/emscripten @freakboy3742 @emmatyping
179+
Tools/wasm/emscripten @freakboy3742 @emmatyping
177180

178181
# WebAssembly (WASI)
182+
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
179183
Tools/wasm/wasi-env @brettcannon @emmatyping @savannahostrowski
180184
Tools/wasm/wasi.py @brettcannon @emmatyping @savannahostrowski
181185
Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
@@ -257,40 +261,46 @@ Include/pyhash.h @gpshead @picnixz
257261
Python/pyhash.c @gpshead @picnixz
258262

259263
# The import system (including importlib)
260-
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw
261-
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @kumaraditya303
264+
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00
265+
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 @kumaraditya303
262266
**/*freeze* @ericsnowcurrently
263267
**/*frozen* @ericsnowcurrently
264268
**/*modsupport* @ericsnowcurrently
265-
**/*modulefinder* @ericsnowcurrently
269+
**/*modulefinder* @ericsnowcurrently @FFY00
266270
**/*moduleobject* @ericsnowcurrently
267271
**/*multiphase* @ericsnowcurrently
268-
**/*pkgutil* @ericsnowcurrently
272+
**/*pkgutil* @ericsnowcurrently @FFY00
269273
**/*pythonrun* @ericsnowcurrently
270-
**/*runpy* @ericsnowcurrently
274+
**/*runpy* @ericsnowcurrently @FFY00
271275
**/*singlephase* @ericsnowcurrently
272276
Doc/c-api/module.rst @ericsnowcurrently
273277
Lib/test/test_module/ @ericsnowcurrently
274-
Python/dynload_*.c @ericsnowcurrently
278+
Python/dynload_*.c @ericsnowcurrently @FFY00
275279

276280
# Initialisation
277-
**/*initconfig* @ericsnowcurrently
278-
**/*pathconfig* @ericsnowcurrently
279-
**/*preconfig* @ericsnowcurrently
281+
**/*initconfig* @ericsnowcurrently @FFY00
282+
**/*pathconfig* @ericsnowcurrently @FFY00
283+
**/*preconfig* @ericsnowcurrently @FFY00
280284
Doc/library/sys_path_init.rst @FFY00
281285
Doc/c-api/init_config.rst @FFY00
282286

283287
# Interpreter main program
284-
Modules/main.c @ericsnowcurrently
285-
Programs/_bootstrap_python.c @ericsnowcurrently
286-
Programs/python.c @ericsnowcurrently
288+
Modules/main.c @ericsnowcurrently @FFY00
289+
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
290+
Programs/python.c @ericsnowcurrently @FFY00
287291

288292
# JIT
293+
.github/workflows/jit.yml @savannahostrowski
289294
Include/internal/pycore_jit.h @brandtbucher @savannahostrowski @diegorusso
290295
Python/jit.c @brandtbucher @savannahostrowski @diegorusso
291296
Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
292297
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
293298

299+
# Lazy imports (PEP 810)
300+
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
301+
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
302+
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
303+
294304
# Micro-op / μop / Tier 2 Optimiser
295305
Python/optimizer.c @markshannon @Fidget-Spinner
296306
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
@@ -307,8 +317,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou
307317

308318
# Runtime state/lifecycle
309319
**/*gil* @ericsnowcurrently
310-
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
311-
**/*pystate* @ericsnowcurrently @ZeroIntensity
320+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00
321+
**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00
312322
Include/internal/pycore_*_init.h @ericsnowcurrently
313323
Include/internal/pycore_*_state.h @ericsnowcurrently
314324
Include/internal/pycore_atexit.h @ericsnowcurrently
@@ -416,18 +426,19 @@ Lib/dataclasses.py @ericvsmith
416426
Lib/test/test_dataclasses/ @ericvsmith
417427

418428
# Dates and times
419-
Doc/**/*time.rst @pganssle @abalkin
420-
Doc/library/zoneinfo.rst @pganssle
421-
Include/datetime.h @pganssle @abalkin
422-
Include/internal/pycore_time.h @pganssle @abalkin
423-
Lib/test/test_zoneinfo/ @pganssle
424-
Lib/zoneinfo/ @pganssle
425-
Lib/*time.py @pganssle @abalkin
426-
Lib/test/datetimetester.py @pganssle @abalkin
427-
Lib/test/test_*time.py @pganssle @abalkin
428-
Modules/*zoneinfo* @pganssle
429-
Modules/*time* @pganssle @abalkin
430-
Python/pytime.c @pganssle @abalkin
429+
Doc/**/*time.rst @pganssle @StanFromIreland
430+
Doc/library/datetime-* @pganssle @StanFromIreland
431+
Doc/library/zoneinfo.rst @pganssle @StanFromIreland
432+
Include/datetime.h @pganssle @StanFromIreland
433+
Include/internal/pycore_time.h @pganssle @StanFromIreland
434+
Lib/test/test_zoneinfo/ @pganssle @StanFromIreland
435+
Lib/zoneinfo/ @pganssle @StanFromIreland
436+
Lib/*time.py @pganssle @StanFromIreland
437+
Lib/test/datetimetester.py @pganssle @StanFromIreland
438+
Lib/test/test_*time.py @pganssle @StanFromIreland
439+
Modules/*zoneinfo* @pganssle @StanFromIreland
440+
Modules/*time* @pganssle @StanFromIreland
441+
Python/pytime.c @pganssle @StanFromIreland
431442

432443
# Dbm
433444
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
@@ -466,8 +477,9 @@ Lib/test/test_functools.py @rhettinger
466477
Modules/_functoolsmodule.c @rhettinger
467478

468479
# Garbage collector
469-
Modules/gcmodule.c @pablogsal
470-
Doc/library/gc.rst @pablogsal
480+
Modules/gcmodule.c @pablogsal
481+
Doc/library/gc.rst @pablogsal
482+
InternalDocs/garbage_collector.md @pablogsal
471483

472484
# Gettext
473485
Doc/library/gettext.rst @tomasr8
@@ -494,13 +506,13 @@ Lib/idlelib/ @terryjreedy
494506
Lib/turtledemo/ @terryjreedy
495507

496508
# importlib.metadata
497-
Doc/library/importlib.metadata.rst @jaraco @warsaw
498-
Lib/importlib/metadata/ @jaraco @warsaw
499-
Lib/test/test_importlib/metadata/ @jaraco @warsaw
509+
Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00
510+
Lib/importlib/metadata/ @jaraco @warsaw @FFY00
511+
Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00
500512

501513
# importlib.resources
502-
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
503-
Doc/library/importlib.resources.rst @jaraco @warsaw
514+
Doc/library/importlib.resources.abc.rst @jaraco @warsaw @FFY00
515+
Doc/library/importlib.resources.rst @jaraco @warsaw @FFY00
504516
Lib/importlib/resources/ @jaraco @warsaw @FFY00
505517
Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00
506518

@@ -561,9 +573,9 @@ Lib/shutil.py @giampaolo
561573
Lib/test/test_shutil.py @giampaolo
562574

563575
# Site
564-
Lib/site.py @FFY00
565-
Lib/test/test_site.py @FFY00
566-
Doc/library/site.rst @FFY00
576+
Lib/site.py @FFY00 @warsaw
577+
Lib/test/test_site.py @FFY00 @warsaw
578+
Doc/library/site.rst @FFY00 @warsaw
567579

568580
# string.templatelib
569581
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ body:
3434
label: "CPython versions tested on:"
3535
multiple: true
3636
options:
37-
- "3.9"
3837
- "3.10"
3938
- "3.11"
4039
- "3.12"
4140
- "3.13"
4241
- "3.14"
4342
- "3.15"
43+
- "3.16"
4444
- "CPython main branch"
4545
validations:
4646
required: true

.github/ISSUE_TEMPLATE/crash.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ body:
2727
label: "CPython versions tested on:"
2828
multiple: true
2929
options:
30-
- "3.9"
3130
- "3.10"
3231
- "3.11"
3332
- "3.12"
3433
- "3.13"
3534
- "3.14"
3635
- "3.15"
36+
- "3.16"
3737
- "CPython main branch"
3838
validations:
3939
required: true

.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: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "github-actions"
44
directory: "/"
55
schedule:
6-
interval: "monthly"
6+
interval: "quarterly"
77
labels:
88
- "skip issue"
99
- "skip news"
@@ -12,6 +12,10 @@ updates:
1212
update-types:
1313
- "version-update:semver-minor"
1414
- "version-update:semver-patch"
15+
groups:
16+
actions:
17+
patterns:
18+
- "*"
1519
cooldown:
1620
# https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
1721
# Cooldowns protect against supply chain attacks by avoiding the
@@ -20,7 +24,7 @@ updates:
2024
- package-ecosystem: "pip"
2125
directory: "/Tools/"
2226
schedule:
23-
interval: "monthly"
27+
interval: "quarterly"
2428
labels:
2529
- "skip issue"
2630
- "skip news"

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ on:
1212
# Only ever run once
1313
- opened
1414

15+
permissions:
16+
contents: read
1517

1618
jobs:
1719
add-header:
@@ -20,7 +22,7 @@ jobs:
2022
issues: write
2123
timeout-minutes: 5
2224
steps:
23-
- uses: actions/github-script@v8
25+
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
2426
with:
2527
# language=JavaScript
2628
script: |

0 commit comments

Comments
 (0)