Skip to content

Commit c6556fe

Browse files
Merge remote-tracking branch 'upstream/main' into win-lseek
2 parents d0a2498 + fcfa919 commit c6556fe

3,228 files changed

Lines changed: 246983 additions & 128650 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.

.azure-pipelines/windows-layout-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ steps:
1212
displayName: Show layout info (${{ parameters.kind }})
1313

1414
- ${{ if eq(parameters.fulltest, 'true') }}:
15-
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)" -i test_launcher
15+
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)"
1616
workingDirectory: $(Build.BinariesDirectory)\layout-${{ parameters.kind }}-$(arch)
1717
displayName: ${{ parameters.kind }} Tests
1818
env:

.editorconfig

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

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

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

1111
[*.rst]

.gitattributes

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*.zip binary
2020

2121
# Specific binary files
22-
PC/classicAppCompat.* binary
22+
# -- None right now --
2323

2424
# Text files that should not be subject to eol conversion
2525
[attr]noeol -text
@@ -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
@@ -96,7 +100,6 @@ Lib/token.py generated
96100
Misc/sbom.spdx.json generated
97101
Modules/_testinternalcapi/test_cases.c.h generated
98102
Modules/_testinternalcapi/test_targets.h generated
99-
Objects/typeslots.inc generated
100103
PC/python3dll.c generated
101104
Parser/parser.c generated
102105
Parser/token.c generated
@@ -107,8 +110,10 @@ Python/generated_cases.c.h generated
107110
Python/optimizer_cases.c.h generated
108111
Python/opcode_targets.h generated
109112
Python/record_functions.c.h generated
113+
Python/slots_generated.c generated
110114
Python/stdlib_module_names.h generated
111115
Tools/peg_generator/pegen/grammar_parser.py generated
112116
aclocal.m4 generated
113117
configure generated
114118
*.min.js generated
119+
package-lock.json generated

.github/CODEOWNERS

Lines changed: 79 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -63,28 +63,29 @@
6363
.azure-pipelines/ @AA-Turner
6464

6565
# GitHub & related scripts
66-
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz
67-
Tools/build/compute-changes.py @AA-Turner @hugovk @webknjaz
68-
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg
66+
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz @itamaro @JacobCoffee
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
71-
.pre-commit-config.yaml @hugovk
72-
.ruff.toml @hugovk @AlexWaygood @AA-Turner
72+
.pre-commit-config.yaml @hugovk @JacobCoffee
73+
.ruff.toml @hugovk @AlexWaygood @AA-Turner @JacobCoffee
7374

7475
# Patchcheck
75-
Tools/patchcheck/ @AA-Turner
76+
Tools/patchcheck/ @AA-Turner @itamaro
7677

7778

7879
# ----------------------------------------------------------------------------
7980
# Build System
8081
# ----------------------------------------------------------------------------
8182

8283
# Autotools
83-
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping
84-
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping
85-
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping
86-
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping
87-
Tools/build/regen-configure.sh @AA-Turner
84+
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping @itamaro
85+
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping @itamaro
86+
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping @itamaro
87+
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping @itamaro
88+
Tools/build/regen-configure.sh @AA-Turner @itamaro
8889

8990
# generate-build-details
9091
Tools/build/generate-build-details.py @FFY00
@@ -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,28 +156,24 @@ 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
168171
Lib/_osx_support.py @python/macos-team
169172
Lib/test/test__osx_support.py @python/macos-team
170173

171-
# WebAssembly
172-
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
173-
174174
# WebAssembly (Emscripten)
175-
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
176-
Tools/wasm/emscripten @freakboy3742 @emmatyping
175+
Platforms/emscripten @freakboy3742 @emmatyping
176+
Tools/wasm/emscripten @freakboy3742 @emmatyping
177177

178178
# WebAssembly (WASI)
179179
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
@@ -185,12 +185,8 @@ Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
185185
PC/ @python/windows-team
186186
PCbuild/ @python/windows-team
187187

188-
# Windows installer packages
189-
Tools/msi/ @python/windows-team
190-
Tools/nuget/ @python/windows-team
191-
192-
# Windows Launcher
193-
PC/launcher.c @python/windows-team @vsajip
188+
# Windows Venv launcher/redirector
189+
PC/venvlauncher.c @python/windows-team @vsajip
194190

195191

196192
# ----------------------------------------------------------------------------
@@ -258,40 +254,46 @@ Include/pyhash.h @gpshead @picnixz
258254
Python/pyhash.c @gpshead @picnixz
259255

260256
# The import system (including importlib)
261-
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw
262-
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @kumaraditya303
257+
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00
258+
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 @kumaraditya303
263259
**/*freeze* @ericsnowcurrently
264260
**/*frozen* @ericsnowcurrently
265261
**/*modsupport* @ericsnowcurrently
266-
**/*modulefinder* @ericsnowcurrently
262+
**/*modulefinder* @ericsnowcurrently @FFY00
267263
**/*moduleobject* @ericsnowcurrently
268264
**/*multiphase* @ericsnowcurrently
269-
**/*pkgutil* @ericsnowcurrently
265+
**/*pkgutil* @ericsnowcurrently @FFY00
270266
**/*pythonrun* @ericsnowcurrently
271-
**/*runpy* @ericsnowcurrently
267+
**/*runpy* @ericsnowcurrently @FFY00
272268
**/*singlephase* @ericsnowcurrently
273269
Doc/c-api/module.rst @ericsnowcurrently
274270
Lib/test/test_module/ @ericsnowcurrently
275-
Python/dynload_*.c @ericsnowcurrently
271+
Python/dynload_*.c @ericsnowcurrently @FFY00
276272

277273
# Initialisation
278-
**/*initconfig* @ericsnowcurrently
279-
**/*pathconfig* @ericsnowcurrently
280-
**/*preconfig* @ericsnowcurrently
274+
**/*initconfig* @ericsnowcurrently @FFY00
275+
**/*pathconfig* @ericsnowcurrently @FFY00
276+
**/*preconfig* @ericsnowcurrently @FFY00
281277
Doc/library/sys_path_init.rst @FFY00
282278
Doc/c-api/init_config.rst @FFY00
283279

284280
# Interpreter main program
285-
Modules/main.c @ericsnowcurrently
286-
Programs/_bootstrap_python.c @ericsnowcurrently
287-
Programs/python.c @ericsnowcurrently
281+
Modules/main.c @ericsnowcurrently @FFY00
282+
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
283+
Programs/python.c @ericsnowcurrently @FFY00
288284

289285
# JIT
286+
.github/workflows/jit.yml @savannahostrowski
290287
Include/internal/pycore_jit.h @brandtbucher @savannahostrowski @diegorusso
291288
Python/jit.c @brandtbucher @savannahostrowski @diegorusso
292289
Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
293290
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
294291

292+
# Lazy imports (PEP 810)
293+
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
294+
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
295+
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
296+
295297
# Micro-op / μop / Tier 2 Optimiser
296298
Python/optimizer.c @markshannon @Fidget-Spinner
297299
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
@@ -308,8 +310,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou
308310

309311
# Runtime state/lifecycle
310312
**/*gil* @ericsnowcurrently
311-
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
312-
**/*pystate* @ericsnowcurrently @ZeroIntensity
313+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00
314+
**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00
313315
Include/internal/pycore_*_init.h @ericsnowcurrently
314316
Include/internal/pycore_*_state.h @ericsnowcurrently
315317
Include/internal/pycore_atexit.h @ericsnowcurrently
@@ -330,7 +332,6 @@ Modules/_remote_debugging/ @pablogsal
330332

331333
# Sub-Interpreters
332334
**/*crossinterp* @ericsnowcurrently
333-
**/*interpreteridobject.* @ericsnowcurrently
334335
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
335336
Lib/concurrent/futures/interpreter.py @ericsnowcurrently
336337
Lib/concurrent/interpreters/ @ericsnowcurrently
@@ -417,18 +418,19 @@ Lib/dataclasses.py @ericvsmith
417418
Lib/test/test_dataclasses/ @ericvsmith
418419

419420
# Dates and times
420-
Doc/**/*time.rst @pganssle @abalkin
421-
Doc/library/zoneinfo.rst @pganssle
422-
Include/datetime.h @pganssle @abalkin
423-
Include/internal/pycore_time.h @pganssle @abalkin
424-
Lib/test/test_zoneinfo/ @pganssle
425-
Lib/zoneinfo/ @pganssle
426-
Lib/*time.py @pganssle @abalkin
427-
Lib/test/datetimetester.py @pganssle @abalkin
428-
Lib/test/test_*time.py @pganssle @abalkin
429-
Modules/*zoneinfo* @pganssle
430-
Modules/*time* @pganssle @abalkin
431-
Python/pytime.c @pganssle @abalkin
421+
Doc/**/*time.rst @pganssle @StanFromIreland
422+
Doc/library/datetime-* @pganssle @StanFromIreland
423+
Doc/library/zoneinfo.rst @pganssle @StanFromIreland
424+
Include/datetime.h @pganssle @StanFromIreland
425+
Include/internal/pycore_time.h @pganssle @StanFromIreland
426+
Lib/test/test_zoneinfo/ @pganssle @StanFromIreland
427+
Lib/zoneinfo/ @pganssle @StanFromIreland
428+
Lib/*time.py @pganssle @StanFromIreland
429+
Lib/test/datetimetester.py @pganssle @StanFromIreland
430+
Lib/test/test_*time.py @pganssle @StanFromIreland
431+
Modules/*zoneinfo* @pganssle @StanFromIreland
432+
Modules/*time* @pganssle @StanFromIreland
433+
Python/pytime.c @pganssle @StanFromIreland
432434

433435
# Dbm
434436
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
@@ -467,8 +469,9 @@ Lib/test/test_functools.py @rhettinger
467469
Modules/_functoolsmodule.c @rhettinger
468470

469471
# Garbage collector
470-
Modules/gcmodule.c @pablogsal
471-
Doc/library/gc.rst @pablogsal
472+
Modules/gcmodule.c @pablogsal
473+
Doc/library/gc.rst @pablogsal
474+
InternalDocs/garbage_collector.md @pablogsal
472475

473476
# Gettext
474477
Doc/library/gettext.rst @tomasr8
@@ -495,13 +498,13 @@ Lib/idlelib/ @terryjreedy
495498
Lib/turtledemo/ @terryjreedy
496499

497500
# importlib.metadata
498-
Doc/library/importlib.metadata.rst @jaraco @warsaw
499-
Lib/importlib/metadata/ @jaraco @warsaw
500-
Lib/test/test_importlib/metadata/ @jaraco @warsaw
501+
Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00
502+
Lib/importlib/metadata/ @jaraco @warsaw @FFY00
503+
Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00
501504

502505
# importlib.resources
503-
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
504-
Doc/library/importlib.resources.rst @jaraco @warsaw
506+
Doc/library/importlib.resources.abc.rst @jaraco @warsaw @FFY00
507+
Doc/library/importlib.resources.rst @jaraco @warsaw @FFY00
505508
Lib/importlib/resources/ @jaraco @warsaw @FFY00
506509
Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00
507510

@@ -562,9 +565,9 @@ Lib/shutil.py @giampaolo
562565
Lib/test/test_shutil.py @giampaolo
563566

564567
# Site
565-
Lib/site.py @FFY00
566-
Lib/test/test_site.py @FFY00
567-
Doc/library/site.rst @FFY00
568+
Lib/site.py @FFY00 @warsaw
569+
Lib/test/test_site.py @FFY00 @warsaw
570+
Doc/library/site.rst @FFY00 @warsaw
568571

569572
# string.templatelib
570573
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
@@ -575,10 +578,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
575578
**/*sysconfig* @FFY00
576579

577580
# SQLite 3
578-
Doc/library/sqlite3.rst @berkerpeksag @erlend-aasland
579-
Lib/sqlite3/ @berkerpeksag @erlend-aasland
580-
Lib/test/test_sqlite3/ @berkerpeksag @erlend-aasland
581-
Modules/_sqlite/ @berkerpeksag @erlend-aasland
581+
Doc/library/sqlite3.rst @erlend-aasland
582+
Lib/sqlite3/ @erlend-aasland
583+
Lib/test/test_sqlite3/ @erlend-aasland
584+
Modules/_sqlite/ @erlend-aasland
582585

583586
# Subprocess
584587
Lib/subprocess.py @gpshead
@@ -611,9 +614,6 @@ Modules/_typesmodule.c @AA-Turner
611614
Lib/unittest/mock.py @cjw296
612615
Lib/test/test_unittest/testmock/ @cjw296
613616

614-
# Urllib
615-
**/*robotparser* @berkerpeksag
616-
617617
# Venv
618618
**/*venv* @vsajip @FFY00
619619

@@ -642,3 +642,6 @@ Modules/**/clinic/
642642
Objects/**/clinic/
643643
PC/**/clinic/
644644
Python/**/clinic/
645+
646+
# Exclude HTML IDs list
647+
Doc/tools/removed-ids.txt

.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

0 commit comments

Comments
 (0)