Skip to content

Commit beaf964

Browse files
authored
Merge branch 'main' into further_turtle_cleanup
2 parents f90be49 + 3706ef6 commit beaf964

File tree

3,518 files changed

+328293
-129643
lines changed

Some content is hidden

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

3,518 files changed

+328293
-129643
lines changed

.azure-pipelines/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
trigger: ['main', '3.13', '3.12', '3.11', '3.10', '3.9', '3.8']
1+
trigger: ['main', '3.*']
22

33
jobs:
44
- job: Prebuild
55
displayName: Pre-build checks
66

77
pool:
8-
vmImage: ubuntu-22.04
8+
vmImage: ubuntu-24.04
99

1010
steps:
1111
- template: ./prebuild-checks.yml

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"image": "ghcr.io/python/devcontainer:2024.09.25.11038928730",
2+
"image": "ghcr.io/python/devcontainer:latest",
33
"onCreateCommand": [
44
// Install common tooling.
55
"dnf",

.editorconfig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
root = true
22

3-
[*.{py,c,cpp,h,js,rst,md,yml}]
3+
[*.{py,c,cpp,h,js,rst,md,yml,yaml,gram}]
44
trim_trailing_whitespace = true
55
insert_final_newline = true
66
indent_style = space
77

8-
[*.{py,c,cpp,h}]
8+
[*.{py,c,cpp,h,gram}]
99
indent_size = 4
1010

1111
[*.rst]
1212
indent_size = 3
1313

14-
[*.{js,yml}]
14+
[*.{js,yml,yaml}]
1515
indent_size = 2

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*.ico binary
1111
*.jpg binary
1212
*.pck binary
13+
*.pdf binary
1314
*.png binary
1415
*.psd binary
1516
*.tar binary
@@ -67,6 +68,7 @@ PCbuild/readme.txt dos
6768
**/clinic/*.cpp.h generated
6869
**/clinic/*.h.h generated
6970
*_db.h generated
71+
Doc/c-api/lifecycle.dot.svg generated
7072
Doc/data/stable_abi.dat generated
7173
Doc/library/token-list.inc generated
7274
Include/internal/pycore_ast.h generated

.github/CODEOWNERS

Lines changed: 136 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,45 @@
44
# It uses the same pattern rule for gitignore file
55
# https://git-scm.com/docs/gitignore#_pattern_format
66

7-
# GitHub
8-
.github/** @ezio-melotti @hugovk
7+
# Azure Pipelines
8+
.azure-pipelines/ @AA-Turner
9+
10+
# GitHub & related scripts
11+
.github/** @ezio-melotti @hugovk @AA-Turner
12+
Tools/build/compute-changes.py @AA-Turner
13+
Tools/build/verify_ensurepip_wheels.py @AA-Turner
914

1015
# pre-commit
11-
.pre-commit-config.yaml @hugovk @AlexWaygood
12-
.ruff.toml @hugovk @AlexWaygood
16+
.pre-commit-config.yaml @hugovk
17+
.ruff.toml @hugovk @AlexWaygood @AA-Turner
18+
19+
# Build system (autotools)
20+
configure* @erlend-aasland @corona10 @AA-Turner
21+
Makefile.pre.in @erlend-aasland @AA-Turner
22+
Modules/Setup* @erlend-aasland @AA-Turner
23+
Tools/build/regen-configure.sh @AA-Turner
1324

14-
# Build system
15-
configure* @erlend-aasland @corona10
16-
Makefile.pre.in @erlend-aasland
17-
Modules/Setup* @erlend-aasland
25+
# argparse
26+
**/*argparse* @savannahostrowski
1827

1928
# asyncio
20-
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303 @willingc
29+
**/*asyncio* @1st1 @asvetlov @kumaraditya303 @willingc
2130

2231
# Core
2332
**/*context* @1st1
2433
**/*genobject* @markshannon
2534
**/*hamt* @1st1
26-
**/*jit* @brandtbucher
35+
**/*jit* @brandtbucher @savannahostrowski @diegorusso
36+
Python/perf_jit_trampoline.c # Exclude the owners of "**/*jit*", above.
2737
Objects/set* @rhettinger
2838
Objects/dict* @methane @markshannon
2939
Objects/typevarobject.c @JelleZijlstra
40+
Objects/unionobject.c @JelleZijlstra
3041
Objects/type* @markshannon
3142
Objects/codeobject.c @markshannon
3243
Objects/frameobject.c @markshannon
3344
Objects/call.c @markshannon
45+
Objects/object.c @ZeroIntensity
3446
Python/ceval*.c @markshannon
3547
Python/ceval*.h @markshannon
3648
Python/codegen.c @markshannon @iritkatriel
@@ -40,8 +52,9 @@ Python/flowgraph.c @markshannon @iritkatriel
4052
Python/instruction_sequence.c @iritkatriel
4153
Python/bytecodes.c @markshannon
4254
Python/optimizer*.c @markshannon
43-
Python/optimizer_analysis.c @Fidget-Spinner
44-
Python/optimizer_bytecodes.c @Fidget-Spinner
55+
Python/optimizer_analysis.c @Fidget-Spinner @tomasr8
56+
Python/optimizer_bytecodes.c @Fidget-Spinner @tomasr8
57+
Python/optimizer_symbols.c @tomasr8
4558
Python/symtable.c @JelleZijlstra @carljm
4659
Lib/_pyrepl/* @pablogsal @lysnikolaou @ambv
4760
Lib/test/test_patma.py @brandtbucher
@@ -53,9 +66,18 @@ Tools/c-analyzer/ @ericsnowcurrently
5366
# dbm
5467
**/*dbm* @corona10 @erlend-aasland @serhiy-storchaka
5568

69+
# Doc/ tools
70+
Doc/conf.py @AA-Turner @hugovk
71+
Doc/Makefile @AA-Turner @hugovk
72+
Doc/make.bat @AA-Turner @hugovk
73+
Doc/requirements.txt @AA-Turner @hugovk
74+
Doc/_static/** @AA-Turner @hugovk
75+
Doc/tools/** @AA-Turner @hugovk
76+
.readthedocs.yml @AA-Turner
77+
5678
# runtime state/lifecycle
57-
**/*pylifecycle* @ericsnowcurrently
58-
**/*pystate* @ericsnowcurrently
79+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
80+
**/*pystate* @ericsnowcurrently @ZeroIntensity
5981
**/*preconfig* @ericsnowcurrently
6082
**/*initconfig* @ericsnowcurrently
6183
**/*pathconfig* @ericsnowcurrently
@@ -78,24 +100,39 @@ Programs/_bootstrap_python.c @ericsnowcurrently
78100
Programs/python.c @ericsnowcurrently
79101
Tools/build/generate_global_objects.py @ericsnowcurrently
80102

103+
# Initialization
104+
Doc/library/sys_path_init.rst @FFY00
105+
Doc/c-api/init_config.rst @FFY00
106+
107+
# getpath
108+
**/*getpath* @FFY00
109+
110+
# site
111+
**/*site.py @FFY00
112+
Doc/library/site.rst @FFY00
113+
81114
# Exceptions
82115
Lib/test/test_except*.py @iritkatriel
83116
Objects/exceptions.c @iritkatriel
84117

85-
# Hashing
86-
**/*hashlib* @gpshead @tiran
87-
**/*pyhash* @gpshead @tiran
88-
**/sha* @gpshead @tiran
89-
Modules/md5* @gpshead @tiran
90-
**/*blake* @gpshead @tiran
91-
Modules/_blake2/** @gpshead @tiran
92-
Modules/_hacl/** @gpshead
118+
# Hashing & cryptographic primitives
119+
**/*hashlib* @gpshead @tiran @picnixz
120+
**/*hashopenssl* @gpshead @tiran @picnixz
121+
**/*pyhash* @gpshead @tiran @picnixz
122+
Modules/*blake* @gpshead @tiran @picnixz
123+
Modules/*md5* @gpshead @tiran @picnixz
124+
Modules/*sha* @gpshead @tiran @picnixz
125+
Modules/_hacl/** @gpshead @picnixz
126+
**/*hmac* @gpshead @picnixz
127+
128+
# libssl
129+
**/*ssl* @gpshead @picnixz
93130

94131
# logging
95132
**/*logging* @vsajip
96133

97134
# venv
98-
**/*venv* @vsajip
135+
**/*venv* @vsajip @FFY00
99136

100137
# Launcher
101138
/PC/launcher.c @vsajip
@@ -125,6 +162,10 @@ Doc/c-api/module.rst @ericsnowcurrently
125162
**/*importlib/resources/* @jaraco @warsaw @FFY00
126163
**/*importlib/metadata/* @jaraco @warsaw
127164

165+
# Calendar
166+
Lib/calendar.py @AA-Turner
167+
Lib/test/test_calendar.py @AA-Turner
168+
128169
# Dates and times
129170
**/*datetime* @pganssle @abalkin
130171
**/*str*time* @pganssle @abalkin
@@ -141,6 +182,9 @@ Include/internal/pycore_time.h @pganssle @abalkin
141182
**/*imap* @python/email-team
142183
**/*poplib* @python/email-team
143184

185+
# Exclude .mailmap from being owned by @python/email-team
186+
/.mailmap
187+
144188
# Garbage collector
145189
/Modules/gcmodule.c @pablogsal
146190
/Doc/library/gc.rst @pablogsal
@@ -157,12 +201,13 @@ Include/internal/pycore_time.h @pganssle @abalkin
157201
/Tools/cases_generator/ @markshannon
158202

159203
# AST
160-
Python/ast.c @isidentical @JelleZijlstra @eclips4
161-
Python/ast_opt.c @isidentical @eclips4
162-
Parser/asdl.py @isidentical @JelleZijlstra @eclips4
163-
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4
164-
Lib/ast.py @isidentical @JelleZijlstra @eclips4
165-
Lib/test/test_ast/ @eclips4
204+
Python/ast.c @isidentical @JelleZijlstra @eclips4 @tomasr8
205+
Python/ast_preprocess.c @isidentical @eclips4 @tomasr8
206+
Parser/asdl.py @isidentical @JelleZijlstra @eclips4 @tomasr8
207+
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4 @tomasr8
208+
Lib/ast.py @isidentical @JelleZijlstra @eclips4 @tomasr8
209+
Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4 @tomasr8
210+
Lib/test/test_ast/ @eclips4 @tomasr8
166211

167212
# Mock
168213
/Lib/unittest/mock.py @cjw296
@@ -171,6 +216,11 @@ Lib/test/test_ast/ @eclips4
171216
# multiprocessing
172217
**/*multiprocessing* @gpshead
173218

219+
# pydoc
220+
Lib/pydoc.py @AA-Turner
221+
Lib/pydoc_data/ @AA-Turner
222+
Lib/test/test_pydoc/ @AA-Turner
223+
174224
# SQLite 3
175225
**/*sqlite* @berkerpeksag @erlend-aasland
176226

@@ -183,6 +233,11 @@ Lib/test/test_ast/ @eclips4
183233
**/*pdb* @gaogaotiantian
184234
**/*bdb* @gaogaotiantian
185235

236+
# types
237+
Lib/test/test_types.py @AA-Turner
238+
Lib/types.py @AA-Turner
239+
Modules/_typesmodule.c @AA-Turner
240+
186241
# Limited C API & stable ABI
187242
Tools/build/stable_abi.py @encukou
188243
Misc/stable_abi.toml @encukou
@@ -200,6 +255,11 @@ Doc/c-api/stable.rst @encukou
200255
/Tools/msi/ @python/windows-team
201256
/Tools/nuget/ @python/windows-team
202257

258+
# Zstandard
259+
Lib/compression/zstd/ @AA-Turner
260+
Lib/test/test_zstd.py @AA-Turner
261+
Modules/_zstd/ @AA-Turner
262+
203263
# Misc
204264
**/*itertools* @rhettinger
205265
**/*collections* @rhettinger
@@ -232,6 +292,9 @@ Doc/c-api/stable.rst @encukou
232292

233293
**/*cjkcodecs* @corona10
234294

295+
# Patchcheck
296+
Tools/patchcheck/ @AA-Turner
297+
235298
# macOS
236299
/Mac/ @python/macos-team
237300
**/*osx_support* @python/macos-team
@@ -243,20 +306,24 @@ Doc/c-api/stable.rst @encukou
243306
**/*zipfile/_path/* @jaraco
244307

245308
# Argument Clinic
246-
/Tools/clinic/** @erlend-aasland
247-
/Lib/test/test_clinic.py @erlend-aasland
248-
Doc/howto/clinic.rst @erlend-aasland
309+
/Tools/clinic/** @erlend-aasland @AA-Turner
310+
/Lib/test/test_clinic.py @erlend-aasland @AA-Turner
311+
Doc/howto/clinic.rst @erlend-aasland @AA-Turner
249312

250313
# Subinterpreters
251314
**/*interpreteridobject.* @ericsnowcurrently
252315
**/*crossinterp* @ericsnowcurrently
253-
Lib/test/support/interpreters/ @ericsnowcurrently
254316
Modules/_interp*module.c @ericsnowcurrently
317+
Lib/test/test__interp*.py @ericsnowcurrently
318+
Lib/concurrent/interpreters/ @ericsnowcurrently
319+
Lib/test/support/channels.py @ericsnowcurrently
320+
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
255321
Lib/test/test_interpreters/ @ericsnowcurrently
322+
Lib/concurrent/futures/interpreter.py @ericsnowcurrently
256323

257324
# Android
258-
**/*Android* @mhsmith
259-
**/*android* @mhsmith
325+
**/*Android* @mhsmith @freakboy3742
326+
**/*android* @mhsmith @freakboy3742
260327

261328
# iOS (but not termios)
262329
**/iOS* @freakboy3742
@@ -267,7 +334,12 @@ Lib/test/test_interpreters/ @ericsnowcurrently
267334
**/*-ios* @freakboy3742
268335

269336
# WebAssembly
270-
/Tools/wasm/ @brettcannon
337+
Tools/wasm/config.site-wasm32-emscripten @freakboy3742
338+
/Tools/wasm/README.md @brettcannon @freakboy3742
339+
/Tools/wasm/wasi-env @brettcannon
340+
/Tools/wasm/wasi.py @brettcannon
341+
/Tools/wasm/emscripten @freakboy3742
342+
/Tools/wasm/wasi @brettcannon
271343

272344
# SBOM
273345
/Misc/externals.spdx.json @sethmlarson
@@ -279,4 +351,31 @@ Lib/configparser.py @jaraco
279351
Lib/test/test_configparser.py @jaraco
280352

281353
# Doc sections
282-
Doc/reference/ @willingc
354+
Doc/reference/ @willingc @AA-Turner
355+
Doc/whatsnew/ @AA-Turner
356+
357+
**/*weakref* @kumaraditya303
358+
359+
# Colorize
360+
Lib/_colorize.py @hugovk
361+
Lib/test/test__colorize.py @hugovk
362+
363+
# Fuzzing
364+
Modules/_xxtestfuzz/ @ammaraskar
365+
366+
# t-strings
367+
**/*interpolationobject* @lysnikolaou
368+
**/*templateobject* @lysnikolaou
369+
**/*templatelib* @lysnikolaou @AA-Turner
370+
**/*tstring* @lysnikolaou
371+
372+
# Remote debugging
373+
Python/remote_debug.h @pablogsal
374+
Python/remote_debugging.c @pablogsal
375+
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
376+
377+
# gettext
378+
**/*gettext* @tomasr8
379+
380+
# Internal Docs
381+
InternalDocs/ @AA-Turner

.github/CONTRIBUTING.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Contributing to Python
44
Build Status
55
------------
66

7-
- `Buildbot status overview <https://buildbot.python.org/all/#/release_status>`_
7+
- `Buildbot status overview <https://buildbot.python.org/#/release_status>`_
88

99
- `GitHub Actions status <https://github.com/python/cpython/actions/workflows/build.yml>`_
1010

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,13 @@ body:
3434
label: "CPython versions tested on:"
3535
multiple: true
3636
options:
37-
- "3.8"
3837
- "3.9"
3938
- "3.10"
4039
- "3.11"
4140
- "3.12"
4241
- "3.13"
42+
- "3.14"
43+
- "3.15"
4344
- "CPython main branch"
4445
validations:
4546
required: true

.github/ISSUE_TEMPLATE/crash.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,13 @@ body:
2727
label: "CPython versions tested on:"
2828
multiple: true
2929
options:
30-
- "3.8"
3130
- "3.9"
3231
- "3.10"
3332
- "3.11"
3433
- "3.12"
3534
- "3.13"
35+
- "3.14"
36+
- "3.15"
3637
- "CPython main branch"
3738
validations:
3839
required: true

0 commit comments

Comments
 (0)