Skip to content

Commit 551c03c

Browse files
committed
Merge main into vi mode branch
2 parents a6fb266 + 00ea776 commit 551c03c

2,368 files changed

Lines changed: 307607 additions & 105534 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: 14 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

@@ -68,6 +71,7 @@ PCbuild/readme.txt dos
6871
**/clinic/*.cpp.h generated
6972
**/clinic/*.h.h generated
7073
*_db.h generated
74+
Doc/_static/tachyon-example-*.html generated
7175
Doc/c-api/lifecycle.dot.svg generated
7276
Doc/data/stable_abi.dat generated
7377
Doc/library/token-list.inc generated
@@ -80,16 +84,22 @@ Include/internal/pycore_uop_ids.h generated
8084
Include/internal/pycore_uop_metadata.h generated
8185
Include/opcode.h generated
8286
Include/opcode_ids.h generated
87+
Include/slots_generated.h generated
8388
Include/token.h generated
8489
Lib/_opcode_metadata.py generated
90+
Lib/idlelib/help.html generated
8591
Lib/keyword.py generated
92+
Lib/pydoc_data/topics.py generated
93+
Lib/pydoc_data/module_docs.py generated
8694
Lib/test/certdata/*.pem generated
8795
Lib/test/certdata/*.0 generated
8896
Lib/test/levenshtein_examples.json generated
8997
Lib/test/test_stable_abi_ctypes.py generated
98+
Lib/test/test_zoneinfo/data/*.json generated
9099
Lib/token.py generated
91100
Misc/sbom.spdx.json generated
92-
Objects/typeslots.inc generated
101+
Modules/_testinternalcapi/test_cases.c.h generated
102+
Modules/_testinternalcapi/test_targets.h generated
93103
PC/python3dll.c generated
94104
Parser/parser.c generated
95105
Parser/token.c generated
@@ -99,8 +109,11 @@ Python/executor_cases.c.h generated
99109
Python/generated_cases.c.h generated
100110
Python/optimizer_cases.c.h generated
101111
Python/opcode_targets.h generated
112+
Python/record_functions.c.h generated
113+
Python/slots_generated.c generated
102114
Python/stdlib_module_names.h generated
103115
Tools/peg_generator/pegen/grammar_parser.py generated
104116
aclocal.m4 generated
105117
configure generated
106118
*.min.js generated
119+
package-lock.json generated

.github/CODEOWNERS

Lines changed: 86 additions & 66 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

@@ -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,22 +147,24 @@ 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
146156
# ----------------------------------------------------------------------------
147157

148158
# Android
149-
Android/ @mhsmith @freakboy3742
159+
Platforms/Android/ @mhsmith @freakboy3742
150160
Doc/using/android.rst @mhsmith @freakboy3742
151161
Lib/_android_support.py @mhsmith @freakboy3742
152162
Lib/test/test_android.py @mhsmith @freakboy3742
153163

154164
# iOS
155165
Doc/using/ios.rst @freakboy3742
156166
Lib/_ios_support.py @freakboy3742
157-
Apple/ @freakboy3742
158-
iOS/ @freakboy3742
167+
Platforms/Apple/ @freakboy3742
159168

160169
# macOS
161170
Mac/ @python/macos-team
@@ -166,13 +175,14 @@ Lib/test/test__osx_support.py @python/macos-team
166175
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
167176

168177
# WebAssembly (Emscripten)
169-
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
170-
Tools/wasm/emscripten @freakboy3742 @emmatyping
178+
Platforms/emscripten @freakboy3742 @emmatyping
179+
Tools/wasm/emscripten @freakboy3742 @emmatyping
171180

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

177187
# Windows
178188
PC/ @python/windows-team
@@ -251,45 +261,51 @@ Include/pyhash.h @gpshead @picnixz
251261
Python/pyhash.c @gpshead @picnixz
252262

253263
# The import system (including importlib)
254-
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw
255-
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
256266
**/*freeze* @ericsnowcurrently
257267
**/*frozen* @ericsnowcurrently
258268
**/*modsupport* @ericsnowcurrently
259-
**/*modulefinder* @ericsnowcurrently
269+
**/*modulefinder* @ericsnowcurrently @FFY00
260270
**/*moduleobject* @ericsnowcurrently
261271
**/*multiphase* @ericsnowcurrently
262-
**/*pkgutil* @ericsnowcurrently
272+
**/*pkgutil* @ericsnowcurrently @FFY00
263273
**/*pythonrun* @ericsnowcurrently
264-
**/*runpy* @ericsnowcurrently
274+
**/*runpy* @ericsnowcurrently @FFY00
265275
**/*singlephase* @ericsnowcurrently
266276
Doc/c-api/module.rst @ericsnowcurrently
267277
Lib/test/test_module/ @ericsnowcurrently
268-
Python/dynload_*.c @ericsnowcurrently
278+
Python/dynload_*.c @ericsnowcurrently @FFY00
269279

270280
# Initialisation
271-
**/*initconfig* @ericsnowcurrently
272-
**/*pathconfig* @ericsnowcurrently
273-
**/*preconfig* @ericsnowcurrently
281+
**/*initconfig* @ericsnowcurrently @FFY00
282+
**/*pathconfig* @ericsnowcurrently @FFY00
283+
**/*preconfig* @ericsnowcurrently @FFY00
274284
Doc/library/sys_path_init.rst @FFY00
275285
Doc/c-api/init_config.rst @FFY00
276286

277287
# Interpreter main program
278-
Modules/main.c @ericsnowcurrently
279-
Programs/_bootstrap_python.c @ericsnowcurrently
280-
Programs/python.c @ericsnowcurrently
288+
Modules/main.c @ericsnowcurrently @FFY00
289+
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
290+
Programs/python.c @ericsnowcurrently @FFY00
281291

282292
# JIT
293+
.github/workflows/jit.yml @savannahostrowski
283294
Include/internal/pycore_jit.h @brandtbucher @savannahostrowski @diegorusso
284295
Python/jit.c @brandtbucher @savannahostrowski @diegorusso
285296
Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
286297
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
287298

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+
288304
# 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
305+
Python/optimizer.c @markshannon @Fidget-Spinner
306+
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
307+
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
308+
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
293309

294310
# Parser, Lexer, and Grammar
295311
Grammar/python.gram @pablogsal @lysnikolaou
@@ -301,8 +317,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou
301317

302318
# Runtime state/lifecycle
303319
**/*gil* @ericsnowcurrently
304-
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
305-
**/*pystate* @ericsnowcurrently @ZeroIntensity
320+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00
321+
**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00
306322
Include/internal/pycore_*_init.h @ericsnowcurrently
307323
Include/internal/pycore_*_state.h @ericsnowcurrently
308324
Include/internal/pycore_atexit.h @ericsnowcurrently
@@ -319,7 +335,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
319335
# Remote Debugging
320336
Python/remote_debug.h @pablogsal
321337
Python/remote_debugging.c @pablogsal
322-
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
338+
Modules/_remote_debugging/ @pablogsal
323339

324340
# Sub-Interpreters
325341
**/*crossinterp* @ericsnowcurrently
@@ -410,18 +426,19 @@ Lib/dataclasses.py @ericvsmith
410426
Lib/test/test_dataclasses/ @ericvsmith
411427

412428
# 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
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
425442

426443
# Dbm
427444
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
@@ -460,8 +477,9 @@ Lib/test/test_functools.py @rhettinger
460477
Modules/_functoolsmodule.c @rhettinger
461478

462479
# Garbage collector
463-
Modules/gcmodule.c @pablogsal
464-
Doc/library/gc.rst @pablogsal
480+
Modules/gcmodule.c @pablogsal
481+
Doc/library/gc.rst @pablogsal
482+
InternalDocs/garbage_collector.md @pablogsal
465483

466484
# Gettext
467485
Doc/library/gettext.rst @tomasr8
@@ -488,13 +506,13 @@ Lib/idlelib/ @terryjreedy
488506
Lib/turtledemo/ @terryjreedy
489507

490508
# importlib.metadata
491-
Doc/library/importlib.metadata.rst @jaraco @warsaw
492-
Lib/importlib/metadata/ @jaraco @warsaw
493-
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
494512

495513
# importlib.resources
496-
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
497-
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
498516
Lib/importlib/resources/ @jaraco @warsaw @FFY00
499517
Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00
500518

@@ -534,6 +552,11 @@ Lib/pydoc.py @AA-Turner
534552
Lib/pydoc_data/ @AA-Turner
535553
Lib/test/test_pydoc/ @AA-Turner
536554

555+
# Profiling (Sampling)
556+
Doc/library/profiling*.rst @pablogsal
557+
Lib/profiling/ @pablogsal
558+
Lib/test/test_profiling/ @pablogsal
559+
537560
# PyREPL
538561
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
539562
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv
@@ -550,9 +573,9 @@ Lib/shutil.py @giampaolo
550573
Lib/test/test_shutil.py @giampaolo
551574

552575
# Site
553-
Lib/site.py @FFY00
554-
Lib/test/test_site.py @FFY00
555-
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
556579

557580
# string.templatelib
558581
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
@@ -563,10 +586,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
563586
**/*sysconfig* @FFY00
564587

565588
# SQLite 3
566-
Doc/library/sqlite3.rst @berkerpeksag @erlend-aasland
567-
Lib/sqlite3/ @berkerpeksag @erlend-aasland
568-
Lib/test/test_sqlite3/ @berkerpeksag @erlend-aasland
569-
Modules/_sqlite/ @berkerpeksag @erlend-aasland
589+
Doc/library/sqlite3.rst @erlend-aasland
590+
Lib/sqlite3/ @erlend-aasland
591+
Lib/test/test_sqlite3/ @erlend-aasland
592+
Modules/_sqlite/ @erlend-aasland
570593

571594
# Subprocess
572595
Lib/subprocess.py @gpshead
@@ -599,9 +622,6 @@ Modules/_typesmodule.c @AA-Turner
599622
Lib/unittest/mock.py @cjw296
600623
Lib/test/test_unittest/testmock/ @cjw296
601624

602-
# Urllib
603-
**/*robotparser* @berkerpeksag
604-
605625
# Venv
606626
**/*venv* @vsajip @FFY00
607627

.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/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/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"

0 commit comments

Comments
 (0)