Skip to content

Commit 9d068fa

Browse files
Merge branch 'main' into assign-to-keyword
# Conflicts: # Parser/parser.c
2 parents ec8f8b4 + 149c465 commit 9d068fa

2,578 files changed

Lines changed: 272340 additions & 93870 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.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
"image": "ghcr.io/python/wasicontainer:latest",
3+
"onCreateCommand": [
4+
// Install common tooling.
5+
"dnf",
6+
"install",
7+
"-y",
8+
// For umask fix below.
9+
"/usr/bin/setfacl"
10+
],
11+
"updateContentCommand": {
12+
// Using the shell for `nproc` usage.
13+
"python": "python3 Tools/wasm/wasi build --quiet -- --with-pydebug -C"
14+
},
15+
"postCreateCommand": {
16+
// https://github.com/orgs/community/discussions/26026
17+
"umask fix: workspace": ["sudo", "setfacl", "-bnR", "."],
18+
"umask fix: /tmp": ["sudo", "setfacl", "-bnR", "/tmp"]
19+
},
20+
"customizations": {
21+
"vscode": {
22+
"extensions": [
23+
// Highlighting for Parser/Python.asdl.
24+
"brettcannon.zephyr-asdl",
25+
// Highlighting for configure.ac.
26+
"maelvalais.autoconf",
27+
// C auto-complete.
28+
"ms-vscode.cpptools",
29+
// Python auto-complete.
30+
"ms-python.python"
31+
],
32+
"settings": {
33+
"C_Cpp.default.compilerPath": "/usr/bin/clang",
34+
"C_Cpp.default.cStandard": "c11",
35+
"C_Cpp.default.defines": [
36+
"CONFIG_64",
37+
"Py_BUILD_CORE"
38+
],
39+
"C_Cpp.default.includePath": [
40+
"${workspaceFolder}/*",
41+
"${workspaceFolder}/Include/**"
42+
],
43+
// https://github.com/microsoft/vscode-cpptools/issues/10732
44+
"C_Cpp.errorSquiggles": "disabled",
45+
"editor.insertSpaces": true,
46+
"editor.rulers": [
47+
80
48+
],
49+
"editor.tabSize": 4,
50+
"editor.trimAutoWhitespace": true,
51+
"files.associations": {
52+
"*.h": "c"
53+
},
54+
"files.encoding": "utf8",
55+
"files.eol": "\n",
56+
"files.insertFinalNewline": true,
57+
"files.trimTrailingWhitespace": true,
58+
"python.analysis.diagnosticSeverityOverrides": {
59+
// Complains about shadowing the stdlib w/ the stdlib.
60+
"reportShadowedImports": "none",
61+
// Doesn't like _frozen_importlib.
62+
"reportMissingImports": "none"
63+
},
64+
"python.analysis.extraPaths": [
65+
"Lib"
66+
],
67+
"[restructuredtext]": {
68+
"editor.tabSize": 3
69+
}
70+
}
71+
}
72+
}
73+
}

.gitattributes

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ PCbuild/readme.txt dos
6868
**/clinic/*.cpp.h generated
6969
**/clinic/*.h.h generated
7070
*_db.h generated
71+
Doc/_static/tachyon-example-*.html generated
7172
Doc/c-api/lifecycle.dot.svg generated
7273
Doc/data/stable_abi.dat generated
7374
Doc/library/token-list.inc generated
@@ -82,13 +83,19 @@ Include/opcode.h generated
8283
Include/opcode_ids.h generated
8384
Include/token.h generated
8485
Lib/_opcode_metadata.py generated
86+
Lib/idlelib/help.html generated
8587
Lib/keyword.py generated
88+
Lib/pydoc_data/topics.py generated
89+
Lib/pydoc_data/module_docs.py generated
8690
Lib/test/certdata/*.pem generated
8791
Lib/test/certdata/*.0 generated
8892
Lib/test/levenshtein_examples.json generated
8993
Lib/test/test_stable_abi_ctypes.py generated
94+
Lib/test/test_zoneinfo/data/*.json generated
9095
Lib/token.py generated
9196
Misc/sbom.spdx.json generated
97+
Modules/_testinternalcapi/test_cases.c.h generated
98+
Modules/_testinternalcapi/test_targets.h generated
9299
Objects/typeslots.inc generated
93100
PC/python3dll.c generated
94101
Parser/parser.c generated
@@ -99,6 +106,7 @@ Python/executor_cases.c.h generated
99106
Python/generated_cases.c.h generated
100107
Python/optimizer_cases.c.h generated
101108
Python/opcode_targets.h generated
109+
Python/record_functions.c.h generated
102110
Python/stdlib_module_names.h generated
103111
Tools/peg_generator/pegen/grammar_parser.py generated
104112
aclocal.m4 generated

.github/CODEOWNERS

Lines changed: 81 additions & 50 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
@@ -82,10 +83,14 @@ Tools/patchcheck/ @AA-Turner
8283
# Autotools
8384
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping
8485
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping
86+
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping
8587
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping
86-
Modules/makesetup @emmatyping
8788
Tools/build/regen-configure.sh @AA-Turner
8889

90+
# generate-build-details
91+
Tools/build/generate-build-details.py @FFY00
92+
Lib/test/test_build_details.py @FFY00
93+
8994

9095
# ----------------------------------------------------------------------------
9196
# Documentation
@@ -106,6 +111,7 @@ Doc/tools/ @AA-Turner @hugovk
106111
.readthedocs.yml @AA-Turner
107112

108113
# Sections
114+
Doc/c-api/ @ZeroIntensity
109115
Doc/reference/ @willingc @AA-Turner
110116
Doc/whatsnew/ @AA-Turner
111117

@@ -122,6 +128,9 @@ Doc/howto/clinic.rst @erlend-aasland @AA-Turner
122128
# C Analyser
123129
Tools/c-analyzer/ @ericsnowcurrently
124130

131+
# C API Documentation Checks
132+
Tools/check-c-api-docs/ @ZeroIntensity
133+
125134
# Fuzzing
126135
Modules/_xxtestfuzz/ @ammaraskar
127136

@@ -136,6 +145,9 @@ Misc/externals.spdx.json @sethmlarson
136145
Misc/sbom.spdx.json @sethmlarson
137146
Tools/build/generate_sbom.py @sethmlarson
138147

148+
# ABI check
149+
Misc/libabigail.abignore @encukou
150+
139151

140152
# ----------------------------------------------------------------------------
141153
# Platform Support
@@ -150,6 +162,7 @@ Lib/test/test_android.py @mhsmith @freakboy3742
150162
# iOS
151163
Doc/using/ios.rst @freakboy3742
152164
Lib/_ios_support.py @freakboy3742
165+
Apple/ @freakboy3742
153166
iOS/ @freakboy3742
154167

155168
# macOS
@@ -165,9 +178,10 @@ Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
165178
Tools/wasm/emscripten @freakboy3742 @emmatyping
166179

167180
# WebAssembly (WASI)
168-
Tools/wasm/wasi-env @brettcannon @emmatyping
169-
Tools/wasm/wasi.py @brettcannon @emmatyping
170-
Tools/wasm/wasi @brettcannon @emmatyping
181+
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
182+
Tools/wasm/wasi-env @brettcannon @emmatyping @savannahostrowski
183+
Tools/wasm/wasi.py @brettcannon @emmatyping @savannahostrowski
184+
Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
171185

172186
# Windows
173187
PC/ @python/windows-team
@@ -240,51 +254,57 @@ Lib/test/test_getpath.py @FFY00
240254
Modules/getpath* @FFY00
241255

242256
# Hashing / ``hash()`` and related
243-
Include/cpython/pyhash.h @gpshead @picnixz @tiran
244-
Include/internal/pycore_pyhash.h @gpshead @picnixz @tiran
245-
Include/pyhash.h @gpshead @picnixz @tiran
246-
Python/pyhash.c @gpshead @picnixz @tiran
257+
Include/cpython/pyhash.h @gpshead @picnixz
258+
Include/internal/pycore_pyhash.h @gpshead @picnixz
259+
Include/pyhash.h @gpshead @picnixz
260+
Python/pyhash.c @gpshead @picnixz
247261

248262
# The import system (including importlib)
249-
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw
250-
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @kumaraditya303
263+
**/*import* @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00
264+
Python/import.c @brettcannon @ericsnowcurrently @ncoghlan @warsaw @FFY00 @kumaraditya303
251265
**/*freeze* @ericsnowcurrently
252266
**/*frozen* @ericsnowcurrently
253267
**/*modsupport* @ericsnowcurrently
254-
**/*modulefinder* @ericsnowcurrently
268+
**/*modulefinder* @ericsnowcurrently @FFY00
255269
**/*moduleobject* @ericsnowcurrently
256270
**/*multiphase* @ericsnowcurrently
257-
**/*pkgutil* @ericsnowcurrently
271+
**/*pkgutil* @ericsnowcurrently @FFY00
258272
**/*pythonrun* @ericsnowcurrently
259-
**/*runpy* @ericsnowcurrently
273+
**/*runpy* @ericsnowcurrently @FFY00
260274
**/*singlephase* @ericsnowcurrently
261275
Doc/c-api/module.rst @ericsnowcurrently
262276
Lib/test/test_module/ @ericsnowcurrently
263-
Python/dynload_*.c @ericsnowcurrently
277+
Python/dynload_*.c @ericsnowcurrently @FFY00
264278

265279
# Initialisation
266-
**/*initconfig* @ericsnowcurrently
267-
**/*pathconfig* @ericsnowcurrently
268-
**/*preconfig* @ericsnowcurrently
280+
**/*initconfig* @ericsnowcurrently @FFY00
281+
**/*pathconfig* @ericsnowcurrently @FFY00
282+
**/*preconfig* @ericsnowcurrently @FFY00
269283
Doc/library/sys_path_init.rst @FFY00
270284
Doc/c-api/init_config.rst @FFY00
271285

272286
# Interpreter main program
273-
Modules/main.c @ericsnowcurrently
274-
Programs/_bootstrap_python.c @ericsnowcurrently
275-
Programs/python.c @ericsnowcurrently
287+
Modules/main.c @ericsnowcurrently @FFY00
288+
Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
289+
Programs/python.c @ericsnowcurrently @FFY00
276290

277291
# JIT
292+
.github/workflows/jit.yml @savannahostrowski
278293
Include/internal/pycore_jit.h @brandtbucher @savannahostrowski @diegorusso
279294
Python/jit.c @brandtbucher @savannahostrowski @diegorusso
280295
Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
281296
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
282297

298+
# Lazy imports (PEP 810)
299+
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
300+
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
301+
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
302+
283303
# Micro-op / μop / Tier 2 Optimiser
284-
Python/optimizer.c @markshannon
285-
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner
286-
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner
287-
Python/optimizer_symbols.c @markshannon @tomasr8
304+
Python/optimizer.c @markshannon @Fidget-Spinner
305+
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
306+
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
307+
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
288308

289309
# Parser, Lexer, and Grammar
290310
Grammar/python.gram @pablogsal @lysnikolaou
@@ -296,8 +316,8 @@ Tools/peg_generator/ @pablogsal @lysnikolaou
296316

297317
# Runtime state/lifecycle
298318
**/*gil* @ericsnowcurrently
299-
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity
300-
**/*pystate* @ericsnowcurrently @ZeroIntensity
319+
**/*pylifecycle* @ericsnowcurrently @ZeroIntensity @FFY00
320+
**/*pystate* @ericsnowcurrently @ZeroIntensity @FFY00
301321
Include/internal/pycore_*_init.h @ericsnowcurrently
302322
Include/internal/pycore_*_state.h @ericsnowcurrently
303323
Include/internal/pycore_atexit.h @ericsnowcurrently
@@ -314,7 +334,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
314334
# Remote Debugging
315335
Python/remote_debug.h @pablogsal
316336
Python/remote_debugging.c @pablogsal
317-
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
337+
Modules/_remote_debugging/ @pablogsal
318338

319339
# Sub-Interpreters
320340
**/*crossinterp* @ericsnowcurrently
@@ -370,14 +390,14 @@ Lib/calendar.py @AA-Turner
370390
Lib/test/test_calendar.py @AA-Turner
371391

372392
# Cryptographic Primitives and Applications
373-
**/*hashlib* @gpshead @picnixz @tiran
374-
**/*hashopenssl* @gpshead @picnixz @tiran
393+
**/*hashlib* @gpshead @picnixz
394+
**/*hashopenssl* @gpshead @picnixz
375395
**/*hmac* @gpshead @picnixz
376396
**/*ssl* @gpshead @picnixz
377397
Modules/_hacl/ @gpshead @picnixz
378-
Modules/*blake* @gpshead @picnixz @tiran
379-
Modules/*md5* @gpshead @picnixz @tiran
380-
Modules/*sha* @gpshead @picnixz @tiran
398+
Modules/*blake* @gpshead @picnixz
399+
Modules/*md5* @gpshead @picnixz
400+
Modules/*sha* @gpshead @picnixz
381401

382402
# Codecs
383403
Modules/cjkcodecs/ @corona10
@@ -405,14 +425,19 @@ Lib/dataclasses.py @ericvsmith
405425
Lib/test/test_dataclasses/ @ericvsmith
406426

407427
# Dates and times
408-
Doc/**/*time.rst @pganssle @abalkin
409-
Include/datetime.h @pganssle @abalkin
410-
Include/internal/pycore_time.h @pganssle @abalkin
411-
Lib/*time.py @pganssle @abalkin
412-
Lib/test/datetimetester.py @pganssle @abalkin
413-
Lib/test/test_*time.py @pganssle @abalkin
414-
Modules/*time* @pganssle @abalkin
415-
Python/pytime.c @pganssle @abalkin
428+
Doc/**/*time.rst @pganssle @abalkin @StanFromIreland
429+
Doc/library/datetime-* @pganssle @StanFromIreland
430+
Doc/library/zoneinfo.rst @pganssle @StanFromIreland
431+
Include/datetime.h @pganssle @abalkin @StanFromIreland
432+
Include/internal/pycore_time.h @pganssle @abalkin @StanFromIreland
433+
Lib/test/test_zoneinfo/ @pganssle @StanFromIreland
434+
Lib/zoneinfo/ @pganssle @StanFromIreland
435+
Lib/*time.py @pganssle @abalkin @StanFromIreland
436+
Lib/test/datetimetester.py @pganssle @abalkin @StanFromIreland
437+
Lib/test/test_*time.py @pganssle @abalkin @StanFromIreland
438+
Modules/*zoneinfo* @pganssle @StanFromIreland
439+
Modules/*time* @pganssle @abalkin @StanFromIreland
440+
Python/pytime.c @pganssle @abalkin @StanFromIreland
416441

417442
# Dbm
418443
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
@@ -451,8 +476,9 @@ Lib/test/test_functools.py @rhettinger
451476
Modules/_functoolsmodule.c @rhettinger
452477

453478
# Garbage collector
454-
Modules/gcmodule.c @pablogsal
455-
Doc/library/gc.rst @pablogsal
479+
Modules/gcmodule.c @pablogsal
480+
Doc/library/gc.rst @pablogsal
481+
InternalDocs/garbage_collector.md @pablogsal
456482

457483
# Gettext
458484
Doc/library/gettext.rst @tomasr8
@@ -479,13 +505,13 @@ Lib/idlelib/ @terryjreedy
479505
Lib/turtledemo/ @terryjreedy
480506

481507
# importlib.metadata
482-
Doc/library/importlib.metadata.rst @jaraco @warsaw
483-
Lib/importlib/metadata/ @jaraco @warsaw
484-
Lib/test/test_importlib/metadata/ @jaraco @warsaw
508+
Doc/library/importlib.metadata.rst @jaraco @warsaw @FFY00
509+
Lib/importlib/metadata/ @jaraco @warsaw @FFY00
510+
Lib/test/test_importlib/metadata/ @jaraco @warsaw @FFY00
485511

486512
# importlib.resources
487-
Doc/library/importlib.resources.abc.rst @jaraco @warsaw
488-
Doc/library/importlib.resources.rst @jaraco @warsaw
513+
Doc/library/importlib.resources.abc.rst @jaraco @warsaw @FFY00
514+
Doc/library/importlib.resources.rst @jaraco @warsaw @FFY00
489515
Lib/importlib/resources/ @jaraco @warsaw @FFY00
490516
Lib/test/test_importlib/resources/ @jaraco @warsaw @FFY00
491517

@@ -525,6 +551,11 @@ Lib/pydoc.py @AA-Turner
525551
Lib/pydoc_data/ @AA-Turner
526552
Lib/test/test_pydoc/ @AA-Turner
527553

554+
# Profiling (Sampling)
555+
Doc/library/profiling*.rst @pablogsal
556+
Lib/profiling/ @pablogsal
557+
Lib/test/test_profiling/ @pablogsal
558+
528559
# PyREPL
529560
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
530561
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv

0 commit comments

Comments
 (0)