Skip to content

Commit 4001152

Browse files
authored
Merge branch 'main' into placehold
2 parents aecd0b9 + e80962a commit 4001152

3,185 files changed

Lines changed: 310857 additions & 172076 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: 5 additions & 3 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
@@ -80,11 +80,12 @@ Include/internal/pycore_ast_state.h generated
8080
Include/internal/pycore_opcode.h generated
8181
Include/internal/pycore_opcode_metadata.h generated
8282
Include/internal/pycore_*_generated.h generated
83+
Include/internal/pycore_token.h generated
8384
Include/internal/pycore_uop_ids.h generated
8485
Include/internal/pycore_uop_metadata.h generated
8586
Include/opcode.h generated
8687
Include/opcode_ids.h generated
87-
Include/token.h generated
88+
Include/slots_generated.h generated
8889
Lib/_opcode_metadata.py generated
8990
Lib/idlelib/help.html generated
9091
Lib/keyword.py generated
@@ -99,9 +100,9 @@ Lib/token.py generated
99100
Misc/sbom.spdx.json generated
100101
Modules/_testinternalcapi/test_cases.c.h generated
101102
Modules/_testinternalcapi/test_targets.h generated
102-
Objects/typeslots.inc generated
103103
PC/python3dll.c generated
104104
Parser/parser.c generated
105+
Parser/parser_invalid.c generated
105106
Parser/token.c generated
106107
Programs/test_frozenmain.h generated
107108
Python/Python-ast.c generated
@@ -110,6 +111,7 @@ Python/generated_cases.c.h generated
110111
Python/optimizer_cases.c.h generated
111112
Python/opcode_targets.h generated
112113
Python/record_functions.c.h generated
114+
Python/slots_generated.c generated
113115
Python/stdlib_module_names.h generated
114116
Tools/peg_generator/pegen/grammar_parser.py generated
115117
aclocal.m4 generated

‎.github/CODEOWNERS‎

Lines changed: 56 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -63,29 +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-
Lib/test/test_tools/test_compute_changes.py @AA-Turner @hugovk @webknjaz
66+
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz @itamaro @JacobCoffee @StanFromIreland
67+
Tools/build/compute-changes.py @AA-Turner @hugovk @webknjaz @StanFromIreland
68+
Lib/test/test_tools/test_compute_changes.py @AA-Turner @hugovk @webknjaz @StanFromIreland
6969
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg
7070

7171
# Pre-commit
72-
.pre-commit-config.yaml @hugovk
73-
.ruff.toml @hugovk @AlexWaygood @AA-Turner
72+
.pre-commit-config.yaml @hugovk @JacobCoffee @StanFromIreland
73+
.ruff.toml @hugovk @AlexWaygood @AA-Turner @JacobCoffee @StanFromIreland
7474

7575
# Patchcheck
76-
Tools/patchcheck/ @AA-Turner
76+
Tools/patchcheck/ @AA-Turner @itamaro
7777

7878

7979
# ----------------------------------------------------------------------------
8080
# Build System
8181
# ----------------------------------------------------------------------------
8282

8383
# Autotools
84-
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping
85-
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping
86-
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping
87-
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping
88-
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
8989

9090
# generate-build-details
9191
Tools/build/generate-build-details.py @FFY00
@@ -156,28 +156,24 @@ Misc/libabigail.abignore @encukou
156156
# ----------------------------------------------------------------------------
157157

158158
# Android
159-
Android/ @mhsmith @freakboy3742
159+
Platforms/Android/ @mhsmith @freakboy3742
160160
Doc/using/android.rst @mhsmith @freakboy3742
161161
Lib/_android_support.py @mhsmith @freakboy3742
162162
Lib/test/test_android.py @mhsmith @freakboy3742
163163

164164
# iOS
165165
Doc/using/ios.rst @freakboy3742
166166
Lib/_ios_support.py @freakboy3742
167-
Apple/ @freakboy3742
168-
iOS/ @freakboy3742
167+
Platforms/Apple/ @freakboy3742
169168

170169
# macOS
171170
Mac/ @python/macos-team
172171
Lib/_osx_support.py @python/macos-team
173172
Lib/test/test__osx_support.py @python/macos-team
174173

175-
# WebAssembly
176-
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
177-
178174
# WebAssembly (Emscripten)
179-
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
180-
Tools/wasm/emscripten @freakboy3742 @emmatyping
175+
Platforms/emscripten @freakboy3742 @emmatyping
176+
Tools/wasm/emscripten @freakboy3742 @emmatyping
181177

182178
# WebAssembly (WASI)
183179
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
@@ -189,12 +185,8 @@ Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
189185
PC/ @python/windows-team
190186
PCbuild/ @python/windows-team
191187

192-
# Windows installer packages
193-
Tools/msi/ @python/windows-team
194-
Tools/nuget/ @python/windows-team
195-
196-
# Windows Launcher
197-
PC/launcher.c @python/windows-team @vsajip
188+
# Windows Venv launcher/redirector
189+
PC/venvlauncher.c @python/windows-team @vsajip
198190

199191

200192
# ----------------------------------------------------------------------------
@@ -231,7 +223,7 @@ Tools/cases_generator/ @markshannon
231223
Python/assemble.c @markshannon @iritkatriel
232224
Python/codegen.c @markshannon @iritkatriel
233225
Python/compile.c @markshannon @iritkatriel
234-
Python/flowgraph.c @markshannon @iritkatriel
226+
Python/flowgraph.c @markshannon @iritkatriel @eclips4
235227
Python/instruction_sequence.c @iritkatriel
236228
Python/symtable.c @JelleZijlstra @carljm
237229

@@ -291,25 +283,26 @@ Programs/_bootstrap_python.c @ericsnowcurrently @FFY00
291283
Programs/python.c @ericsnowcurrently @FFY00
292284

293285
# JIT
294-
.github/workflows/jit.yml @savannahostrowski
295-
Include/internal/pycore_jit.h @brandtbucher @savannahostrowski @diegorusso
296-
Python/jit.c @brandtbucher @savannahostrowski @diegorusso
297-
Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
298-
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
286+
Include/internal/pycore_jit.h @brandtbucher @diegorusso
287+
Python/jit.c @brandtbucher @diegorusso
288+
Tools/jit/ @brandtbucher @diegorusso
289+
InternalDocs/jit.md @brandtbucher @diegorusso @AA-Turner
299290

300291
# Lazy imports (PEP 810)
301-
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
302-
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
303-
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
292+
.github/workflows/reusable-test-lazy-imports-all.yml @yhg1s @DinoV @pablogsal
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
304296

305297
# Micro-op / μop / Tier 2 Optimiser
306298
Python/optimizer.c @markshannon @Fidget-Spinner
307-
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
308-
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
309-
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner @savannahostrowski
299+
Python/optimizer_analysis.c @markshannon @tomasr8 @Fidget-Spinner
300+
Python/optimizer_bytecodes.c @markshannon @tomasr8 @Fidget-Spinner
301+
Python/optimizer_symbols.c @markshannon @tomasr8 @Fidget-Spinner
310302

311303
# Parser, Lexer, and Grammar
312304
Grammar/python.gram @pablogsal @lysnikolaou
305+
Grammar/invalid.gram @pablogsal @lysnikolaou
313306
Lib/test/test_peg_generator/ @pablogsal @lysnikolaou
314307
Lib/test/test_tokenize.py @pablogsal @lysnikolaou
315308
Lib/tokenize.py @pablogsal @lysnikolaou
@@ -340,7 +333,6 @@ Modules/_remote_debugging/ @pablogsal
340333

341334
# Sub-Interpreters
342335
**/*crossinterp* @ericsnowcurrently
343-
**/*interpreteridobject.* @ericsnowcurrently
344336
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
345337
Lib/concurrent/futures/interpreter.py @ericsnowcurrently
346338
Lib/concurrent/interpreters/ @ericsnowcurrently
@@ -440,6 +432,7 @@ Lib/test/test_*time.py @pganssle @StanFromIreland
440432
Modules/*zoneinfo* @pganssle @StanFromIreland
441433
Modules/*time* @pganssle @StanFromIreland
442434
Python/pytime.c @pganssle @StanFromIreland
435+
Python/_strptime.c @pganssle @StanFromIreland
443436

444437
# Dbm
445438
Doc/library/dbm.rst @corona10 @erlend-aasland @serhiy-storchaka
@@ -574,9 +567,9 @@ Lib/shutil.py @giampaolo
574567
Lib/test/test_shutil.py @giampaolo
575568

576569
# Site
577-
Lib/site.py @FFY00
578-
Lib/test/test_site.py @FFY00
579-
Doc/library/site.rst @FFY00
570+
Lib/site.py @FFY00 @warsaw
571+
Lib/test/test_site.py @FFY00 @warsaw
572+
Doc/library/site.rst @FFY00 @warsaw
580573

581574
# string.templatelib
582575
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
@@ -587,10 +580,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
587580
**/*sysconfig* @FFY00
588581

589582
# SQLite 3
590-
Doc/library/sqlite3.rst @berkerpeksag @erlend-aasland
591-
Lib/sqlite3/ @berkerpeksag @erlend-aasland
592-
Lib/test/test_sqlite3/ @berkerpeksag @erlend-aasland
593-
Modules/_sqlite/ @berkerpeksag @erlend-aasland
583+
Doc/library/sqlite3.rst @erlend-aasland
584+
Lib/sqlite3/ @erlend-aasland
585+
Lib/test/test_sqlite3/ @erlend-aasland
586+
Modules/_sqlite/ @erlend-aasland
594587

595588
# Subprocess
596589
Lib/subprocess.py @gpshead
@@ -607,6 +600,12 @@ Doc/library/tomllib.rst @encukou @hauntsaninja
607600
Lib/test/test_tomllib/ @encukou @hauntsaninja
608601
Lib/tomllib/ @encukou @hauntsaninja
609602

603+
# Turtle
604+
Doc/library/turtle.rst @StanFromIreland
605+
Doc/library/turtle-star.png @StanFromIreland
606+
Lib/test/test_turtle.py @StanFromIreland
607+
Lib/turtle.py @StanFromIreland
608+
610609
# Typing
611610
Doc/library/typing.rst @JelleZijlstra @AlexWaygood
612611
Lib/test/test_typing.py @JelleZijlstra @AlexWaygood
@@ -623,15 +622,18 @@ Modules/_typesmodule.c @AA-Turner
623622
Lib/unittest/mock.py @cjw296
624623
Lib/test/test_unittest/testmock/ @cjw296
625624

626-
# Urllib
627-
**/*robotparser* @berkerpeksag
628-
629625
# Venv
630626
**/*venv* @vsajip @FFY00
631627

632628
# Weakref
633629
**/*weakref* @kumaraditya303
634630

631+
# Zlib
632+
Doc/library/zlib.rst @StanFromIreland
633+
Lib/compression/zlib.py @StanFromIreland
634+
Lib/test/test_zlib.py @StanFromIreland
635+
Modules/zlibmodule.c @StanFromIreland
636+
635637
# Zipfile.Path
636638
Lib/test/test_zipfile/_path/ @jaraco
637639
Lib/zipfile/_path/ @jaraco
@@ -654,3 +656,9 @@ Modules/**/clinic/
654656
Objects/**/clinic/
655657
PC/**/clinic/
656658
Python/**/clinic/
659+
660+
# Exclude Lazy Imports=all CI carve out file
661+
Lib/test/lazy_imports_all_exclude.txt
662+
663+
# Exclude HTML IDs list
664+
Doc/tools/removed-ids.txt

‎.github/ISSUE_TEMPLATE/bug.yml‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ body:
1616
Make sure to also search the [CPython issue tracker](https://github.com/python/cpython/issues?q=is%3Aissue+sort%3Acreated-desc) to check that the bug has not already been reported.
1717
- type: textarea
1818
attributes:
19-
label: "Bug description:"
19+
label: "Bug report"
2020
description: >
2121
Give a clear and concise description of what happened.
2222
Include a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) if possible.
@@ -34,13 +34,12 @@ body:
3434
label: "CPython versions tested on:"
3535
multiple: true
3636
options:
37-
- "3.9"
38-
- "3.10"
3937
- "3.11"
4038
- "3.12"
4139
- "3.13"
4240
- "3.14"
4341
- "3.15"
42+
- "3.16"
4443
- "CPython main branch"
4544
validations:
4645
required: true

‎.github/ISSUE_TEMPLATE/crash.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ body:
1010
The CPython interpreter is written in a different programming language, C. A "CPython crash" is when Python itself fails, leading to a traceback in the C stack.
1111
- type: textarea
1212
attributes:
13-
label: What happened?
13+
label: Crash report
1414
description: >
15+
Give a clear and concise description of what happened.
1516
Include a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) if possible.
1617
[Copy and paste code where possible rather than using screenshots](https://meta.stackoverflow.com/a/285557/13990016),
1718
and put any code blocks inside triple backticks.
@@ -27,13 +28,12 @@ body:
2728
label: "CPython versions tested on:"
2829
multiple: true
2930
options:
30-
- "3.9"
31-
- "3.10"
3231
- "3.11"
3332
- "3.12"
3433
- "3.13"
3534
- "3.14"
3635
- "3.15"
36+
- "3.16"
3737
- "CPython main branch"
3838
validations:
3939
required: true

‎.github/ISSUE_TEMPLATE/feature.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ body:
1212
Major feature proposals should generally be discussed on [Discourse](https://discuss.python.org/c/ideas/6) before opening a GitHub issue. Wait until it's clear that most people support your idea before filling in this form.
1313
- type: textarea
1414
attributes:
15-
label: "Proposal:"
15+
label: "Feature or enhancement"
1616
description: >
1717
Explain your proposal, why it should be implemented, and how it would be used.
1818
Add examples, if applicable.

‎.github/SECURITY.md‎

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
11
# Security Policy
22

3-
## Supported Versions
3+
Python [provides a security policy and threat model](https://devguide.python.org/security/policy/)
4+
in the Python Developer's Guide documenting what bugs are vulnerabilities,
5+
how to structure reports, and what versions of Python accept reports.
46

5-
The Python team applies security fixes according to the table
6-
in [the devguide](
7-
https://devguide.python.org/versions/#supported-versions
8-
).
7+
Python Security Response Team (PSRT) members
8+
balance security work against many other responsibilities. Please be thoughtful
9+
about the time and attention your report requires. Repeated failure to respect
10+
the security policy will result in future reports being rejected, or the
11+
reporter being banned from the ``python`` GitHub organization, regardless of
12+
technical merit.
913

1014
## Reporting a Vulnerability
1115

12-
Please read the guidelines on reporting security issues [on the
13-
official website](https://www.python.org/dev/security/) for
14-
instructions on how to report a security-related problem to
15-
the Python team responsibly.
16+
The [Python security policy](https://devguide.python.org/security/policy/)
17+
documents [how to submit a vulnerability report](https://devguide.python.org/security/policy/#how-to-submit-a-vulnerability-report)
18+
using GitHub Security Advisories. Please read the security policy
19+
prior to filing a vulnerability report, especially the section on [what information to
20+
include and exclude](https://devguide.python.org/security/policy/#what-to-include-and-how-to-structure-a-vulnerability-report)
21+
in vulnerability reports. Following the security policy means the PSRT can
22+
quickly and efficiently triage your report, not following the security policy
23+
will only delay triaging your report.
1624

17-
To reach the response team, email `security at python dot org`.

0 commit comments

Comments
 (0)