Skip to content

Commit 7cd06f2

Browse files
Merge branch 'main' into windows_locale-3
2 parents 0b93c10 + 0b4e13c commit 7cd06f2

File tree

3,420 files changed

+367998
-170770
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,420 files changed

+367998
-170770
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/Dockerfile

Lines changed: 0 additions & 24 deletions
This file was deleted.

.devcontainer/devcontainer.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
{
2-
"build": {
3-
"dockerfile": "Dockerfile"
4-
},
2+
"image": "ghcr.io/python/devcontainer:2025.05.29.15334414373",
53
"onCreateCommand": [
64
// Install common tooling.
75
"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 & 2 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
@@ -27,8 +28,6 @@ Lib/test/cjkencodings/* noeol
2728
Lib/test/tokenizedata/coding20731.py noeol
2829
Lib/test/decimaltestdata/*.decTest noeol
2930
Lib/test/test_email/data/*.txt noeol
30-
Lib/test/test_importlib/resources/data01/* noeol
31-
Lib/test/test_importlib/resources/namespacedata01/* noeol
3231
Lib/test/xmltestdata/* noeol
3332

3433
# Shell scripts should have LF even on Windows because of Cygwin
@@ -69,6 +68,7 @@ PCbuild/readme.txt dos
6968
**/clinic/*.cpp.h generated
7069
**/clinic/*.h.h generated
7170
*_db.h generated
71+
Doc/c-api/lifecycle.dot.svg generated
7272
Doc/data/stable_abi.dat generated
7373
Doc/library/token-list.inc generated
7474
Include/internal/pycore_ast.h generated

.github/CODEOWNERS

Lines changed: 95 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,50 @@
55
# https://git-scm.com/docs/gitignore#_pattern_format
66

77
# GitHub
8-
.github/** @ezio-melotti @hugovk
8+
.github/** @ezio-melotti @hugovk @AA-Turner
99

1010
# pre-commit
1111
.pre-commit-config.yaml @hugovk @AlexWaygood
12-
.ruff.toml @hugovk @AlexWaygood
12+
.ruff.toml @hugovk @AlexWaygood @AA-Turner
1313

1414
# Build system
1515
configure* @erlend-aasland @corona10
1616
Makefile.pre.in @erlend-aasland
1717
Modules/Setup* @erlend-aasland
1818

19+
# argparse
20+
**/*argparse* @savannahostrowski
21+
1922
# asyncio
20-
**/*asyncio* @1st1 @asvetlov @gvanrossum @kumaraditya303 @willingc
23+
**/*asyncio* @1st1 @asvetlov @kumaraditya303 @willingc
2124

2225
# Core
2326
**/*context* @1st1
2427
**/*genobject* @markshannon
2528
**/*hamt* @1st1
26-
**/*jit* @brandtbucher
29+
**/*jit* @brandtbucher @savannahostrowski @diegorusso
30+
Python/perf_jit_trampoline.c # Exclude the owners of "**/*jit*", above.
2731
Objects/set* @rhettinger
2832
Objects/dict* @methane @markshannon
2933
Objects/typevarobject.c @JelleZijlstra
34+
Objects/unionobject.c @JelleZijlstra
3035
Objects/type* @markshannon
3136
Objects/codeobject.c @markshannon
3237
Objects/frameobject.c @markshannon
3338
Objects/call.c @markshannon
39+
Objects/object.c @ZeroIntensity
3440
Python/ceval*.c @markshannon
3541
Python/ceval*.h @markshannon
42+
Python/codegen.c @markshannon @iritkatriel
3643
Python/compile.c @markshannon @iritkatriel
3744
Python/assemble.c @markshannon @iritkatriel
3845
Python/flowgraph.c @markshannon @iritkatriel
3946
Python/instruction_sequence.c @iritkatriel
40-
Python/ast_opt.c @isidentical
4147
Python/bytecodes.c @markshannon
4248
Python/optimizer*.c @markshannon
43-
Python/optimizer_analysis.c @Fidget-Spinner
44-
Python/optimizer_bytecodes.c @Fidget-Spinner
49+
Python/optimizer_analysis.c @Fidget-Spinner @tomasr8
50+
Python/optimizer_bytecodes.c @Fidget-Spinner @tomasr8
51+
Python/optimizer_symbols.c @tomasr8
4552
Python/symtable.c @JelleZijlstra @carljm
4653
Lib/_pyrepl/* @pablogsal @lysnikolaou @ambv
4754
Lib/test/test_patma.py @brandtbucher
@@ -53,9 +60,17 @@ Tools/c-analyzer/ @ericsnowcurrently
5360
# dbm
5461
**/*dbm* @corona10 @erlend-aasland @serhiy-storchaka
5562

63+
# Doc/ tools
64+
Doc/conf.py @AA-Turner @hugovk
65+
Doc/Makefile @AA-Turner @hugovk
66+
Doc/make.bat @AA-Turner @hugovk
67+
Doc/requirements.txt @AA-Turner @hugovk
68+
Doc/_static/** @AA-Turner @hugovk
69+
Doc/tools/** @AA-Turner @hugovk
70+
5671
# runtime state/lifecycle
57-
**/*pylifecycle* @ericsnowcurrently
58-
**/*pystate* @ericsnowcurrently
72+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
73+
**/*pystate* @ericsnowcurrently @ZeroIntensity
5974
**/*preconfig* @ericsnowcurrently
6075
**/*initconfig* @ericsnowcurrently
6176
**/*pathconfig* @ericsnowcurrently
@@ -78,24 +93,39 @@ Programs/_bootstrap_python.c @ericsnowcurrently
7893
Programs/python.c @ericsnowcurrently
7994
Tools/build/generate_global_objects.py @ericsnowcurrently
8095

96+
# Initialization
97+
Doc/library/sys_path_init.rst @FFY00
98+
Doc/c-api/init_config.rst @FFY00
99+
100+
# getpath
101+
**/*getpath* @FFY00
102+
103+
# site
104+
**/*site.py @FFY00
105+
Doc/library/site.rst @FFY00
106+
81107
# Exceptions
82108
Lib/test/test_except*.py @iritkatriel
83109
Objects/exceptions.c @iritkatriel
84110

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
111+
# Hashing & cryptographic primitives
112+
**/*hashlib* @gpshead @tiran @picnixz
113+
**/*hashopenssl* @gpshead @tiran @picnixz
114+
**/*pyhash* @gpshead @tiran @picnixz
115+
Modules/*blake* @gpshead @tiran @picnixz
116+
Modules/*md5* @gpshead @tiran @picnixz
117+
Modules/*sha* @gpshead @tiran @picnixz
118+
Modules/_hacl/** @gpshead @picnixz
119+
**/*hmac* @gpshead @picnixz
120+
121+
# libssl
122+
**/*ssl* @gpshead @picnixz
93123

94124
# logging
95125
**/*logging* @vsajip
96126

97127
# venv
98-
**/*venv* @vsajip
128+
**/*venv* @vsajip @FFY00
99129

100130
# Launcher
101131
/PC/launcher.c @vsajip
@@ -141,6 +171,9 @@ Include/internal/pycore_time.h @pganssle @abalkin
141171
**/*imap* @python/email-team
142172
**/*poplib* @python/email-team
143173

174+
# Exclude .mailmap from being owned by @python/email-team
175+
/.mailmap
176+
144177
# Garbage collector
145178
/Modules/gcmodule.c @pablogsal
146179
/Doc/library/gc.rst @pablogsal
@@ -157,10 +190,13 @@ Include/internal/pycore_time.h @pganssle @abalkin
157190
/Tools/cases_generator/ @markshannon
158191

159192
# AST
160-
Python/ast.c @isidentical @JelleZijlstra
161-
Parser/asdl.py @isidentical @JelleZijlstra
162-
Parser/asdl_c.py @isidentical @JelleZijlstra
163-
Lib/ast.py @isidentical @JelleZijlstra
193+
Python/ast.c @isidentical @JelleZijlstra @eclips4 @tomasr8
194+
Python/ast_preprocess.c @isidentical @eclips4 @tomasr8
195+
Parser/asdl.py @isidentical @JelleZijlstra @eclips4 @tomasr8
196+
Parser/asdl_c.py @isidentical @JelleZijlstra @eclips4 @tomasr8
197+
Lib/ast.py @isidentical @JelleZijlstra @eclips4 @tomasr8
198+
Lib/_ast_unparse.py @isidentical @JelleZijlstra @eclips4 @tomasr8
199+
Lib/test/test_ast/ @eclips4 @tomasr8
164200

165201
# Mock
166202
/Lib/unittest/mock.py @cjw296
@@ -205,7 +241,6 @@ Doc/c-api/stable.rst @encukou
205241
**/*bisect* @rhettinger
206242
**/*heapq* @rhettinger
207243
**/*functools* @rhettinger
208-
**/*decimal* @rhettinger
209244

210245
**/*dataclasses* @ericvsmith
211246

@@ -249,13 +284,17 @@ Doc/howto/clinic.rst @erlend-aasland
249284
# Subinterpreters
250285
**/*interpreteridobject.* @ericsnowcurrently
251286
**/*crossinterp* @ericsnowcurrently
252-
Lib/test/support/interpreters/ @ericsnowcurrently
253287
Modules/_interp*module.c @ericsnowcurrently
288+
Lib/test/test__interp*.py @ericsnowcurrently
289+
Lib/concurrent/interpreters/ @ericsnowcurrently
290+
Lib/test/support/channels.py @ericsnowcurrently
291+
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
254292
Lib/test/test_interpreters/ @ericsnowcurrently
293+
Lib/concurrent/futures/interpreter.py @ericsnowcurrently
255294

256295
# Android
257-
**/*Android* @mhsmith
258-
**/*android* @mhsmith
296+
**/*Android* @mhsmith @freakboy3742
297+
**/*android* @mhsmith @freakboy3742
259298

260299
# iOS (but not termios)
261300
**/iOS* @freakboy3742
@@ -266,7 +305,12 @@ Lib/test/test_interpreters/ @ericsnowcurrently
266305
**/*-ios* @freakboy3742
267306

268307
# WebAssembly
269-
/Tools/wasm/ @brettcannon
308+
Tools/wasm/config.site-wasm32-emscripten @freakboy3742
309+
/Tools/wasm/README.md @brettcannon @freakboy3742
310+
/Tools/wasm/wasi-env @brettcannon
311+
/Tools/wasm/wasi.py @brettcannon
312+
/Tools/wasm/emscripten @freakboy3742
313+
/Tools/wasm/wasi @brettcannon
270314

271315
# SBOM
272316
/Misc/externals.spdx.json @sethmlarson
@@ -278,4 +322,27 @@ Lib/configparser.py @jaraco
278322
Lib/test/test_configparser.py @jaraco
279323

280324
# Doc sections
281-
Doc/reference/ @willingc
325+
Doc/reference/ @willingc @AA-Turner
326+
327+
**/*weakref* @kumaraditya303
328+
329+
# Colorize
330+
Lib/_colorize.py @hugovk
331+
Lib/test/test__colorize.py @hugovk
332+
333+
# Fuzzing
334+
Modules/_xxtestfuzz/ @ammaraskar
335+
336+
# t-strings
337+
**/*interpolationobject* @lysnikolaou
338+
**/*templateobject* @lysnikolaou
339+
**/*templatelib* @lysnikolaou
340+
**/*tstring* @lysnikolaou
341+
342+
# Remote debugging
343+
Python/remote_debug.h @pablogsal
344+
Python/remote_debugging.c @pablogsal
345+
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
346+
347+
# gettext
348+
**/*gettext* @tomasr8

.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: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +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"
34+
- "3.13"
35+
- "3.14"
36+
- "3.15"
3537
- "CPython main branch"
3638
validations:
3739
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ Please read this comment in its entirety. It's quite important.
77
It should be in the following format:
88
99
```
10-
gh-NNNNN: Summary of the changes made
10+
gh-NNNNNN: Summary of the changes made
1111
```
1212
13-
Where: gh-NNNNN refers to the GitHub issue number.
13+
Where: gh-NNNNNN refers to the GitHub issue number.
1414
1515
Most PRs will require an issue number. Trivial changes, like fixing a typo, do not need an issue.
1616
@@ -20,11 +20,11 @@ If this is a backport PR (PR made against branches other than `main`),
2020
please ensure that the PR title is in the following format:
2121
2222
```
23-
[X.Y] <title from the original PR> (GH-NNNN)
23+
[X.Y] <title from the original PR> (GH-NNNNNN)
2424
```
2525
26-
Where: [X.Y] is the branch name, e.g. [3.6].
26+
Where: [X.Y] is the branch name, for example: [3.13].
2727
28-
GH-NNNN refers to the PR number from `main`.
28+
GH-NNNNNN refers to the PR number from `main`.
2929
3030
-->

.github/actionlint.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
self-hosted-runner:
2+
# Pending https://github.com/rhysd/actionlint/issues/533
3+
labels: ["windows-11-arm"]
4+
5+
config-variables: null
6+
7+
paths:
8+
.github/workflows/**/*.yml:
9+
ignore:
10+
- 1st argument of function call is not assignable
11+
- SC2(015|038|086|091|097|098|129|155)

0 commit comments

Comments
 (0)