Skip to content

Commit 0bcfbf2

Browse files
committed
Merge upstream main
2 parents d134dea + 5a22a62 commit 0bcfbf2

3,713 files changed

Lines changed: 290896 additions & 163710 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 & 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
@@ -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

@@ -77,11 +80,12 @@ Include/internal/pycore_ast_state.h generated
7780
Include/internal/pycore_opcode.h generated
7881
Include/internal/pycore_opcode_metadata.h generated
7982
Include/internal/pycore_*_generated.h generated
83+
Include/internal/pycore_token.h generated
8084
Include/internal/pycore_uop_ids.h generated
8185
Include/internal/pycore_uop_metadata.h generated
8286
Include/opcode.h generated
8387
Include/opcode_ids.h generated
84-
Include/token.h generated
88+
Include/slots_generated.h generated
8589
Lib/_opcode_metadata.py generated
8690
Lib/idlelib/help.html generated
8791
Lib/keyword.py 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,6 +110,7 @@ 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

‎.github/CODEOWNERS‎

Lines changed: 53 additions & 46 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
@@ -100,12 +100,12 @@ Lib/test/test_build_details.py @FFY00
100100
InternalDocs/ @AA-Turner
101101

102102
# Tools, Configuration, etc
103-
Doc/Makefile @AA-Turner @hugovk
104-
Doc/_static/ @AA-Turner @hugovk
105-
Doc/conf.py @AA-Turner @hugovk
106-
Doc/make.bat @AA-Turner @hugovk
107-
Doc/requirements.txt @AA-Turner @hugovk
108-
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
109109

110110
# PR Previews
111111
.readthedocs.yml @AA-Turner
@@ -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

@@ -298,9 +290,10 @@ Tools/jit/ @brandtbucher @savannahostrowski @diegorusso
298290
InternalDocs/jit.md @brandtbucher @savannahostrowski @diegorusso @AA-Turner
299291

300292
# 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
293+
.github/workflows/reusable-test-lazy-imports-all.yml @yhg1s @DinoV @pablogsal
294+
Objects/lazyimportobject.c @yhg1s @DinoV @pablogsal
295+
Include/internal/pycore_lazyimportobject.h @yhg1s @DinoV @pablogsal
296+
Lib/test/test_lazy_import @yhg1s @DinoV @pablogsal
304297

305298
# Micro-op / μop / Tier 2 Optimiser
306299
Python/optimizer.c @markshannon @Fidget-Spinner
@@ -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
@@ -574,9 +566,9 @@ Lib/shutil.py @giampaolo
574566
Lib/test/test_shutil.py @giampaolo
575567

576568
# Site
577-
Lib/site.py @FFY00
578-
Lib/test/test_site.py @FFY00
579-
Doc/library/site.rst @FFY00
569+
Lib/site.py @FFY00 @warsaw
570+
Lib/test/test_site.py @FFY00 @warsaw
571+
Doc/library/site.rst @FFY00 @warsaw
580572

581573
# string.templatelib
582574
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
@@ -587,10 +579,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
587579
**/*sysconfig* @FFY00
588580

589581
# 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
582+
Doc/library/sqlite3.rst @erlend-aasland
583+
Lib/sqlite3/ @erlend-aasland
584+
Lib/test/test_sqlite3/ @erlend-aasland
585+
Modules/_sqlite/ @erlend-aasland
594586

595587
# Subprocess
596588
Lib/subprocess.py @gpshead
@@ -607,6 +599,12 @@ Doc/library/tomllib.rst @encukou @hauntsaninja
607599
Lib/test/test_tomllib/ @encukou @hauntsaninja
608600
Lib/tomllib/ @encukou @hauntsaninja
609601

602+
# Turtle
603+
Doc/library/turtle.rst @StanFromIreland
604+
Doc/library/turtle-star.png @StanFromIreland
605+
Lib/test/test_turtle.py @StanFromIreland
606+
Lib/turtle.py @StanFromIreland
607+
610608
# Typing
611609
Doc/library/typing.rst @JelleZijlstra @AlexWaygood
612610
Lib/test/test_typing.py @JelleZijlstra @AlexWaygood
@@ -623,15 +621,18 @@ Modules/_typesmodule.c @AA-Turner
623621
Lib/unittest/mock.py @cjw296
624622
Lib/test/test_unittest/testmock/ @cjw296
625623

626-
# Urllib
627-
**/*robotparser* @berkerpeksag
628-
629624
# Venv
630625
**/*venv* @vsajip @FFY00
631626

632627
# Weakref
633628
**/*weakref* @kumaraditya303
634629

630+
# Zlib
631+
Doc/library/zlib.rst @StanFromIreland
632+
Lib/compression/zlib.py @StanFromIreland
633+
Lib/test/test_zlib.py @StanFromIreland
634+
Modules/zlibmodule.c @StanFromIreland
635+
635636
# Zipfile.Path
636637
Lib/test/test_zipfile/_path/ @jaraco
637638
Lib/zipfile/_path/ @jaraco
@@ -654,3 +655,9 @@ Modules/**/clinic/
654655
Objects/**/clinic/
655656
PC/**/clinic/
656657
Python/**/clinic/
658+
659+
# Exclude Lazy Imports=all CI carve out file
660+
Lib/test/lazy_imports_all_exclude.txt
661+
662+
# Exclude HTML IDs list
663+
Doc/tools/removed-ids.txt

‎.github/ISSUE_TEMPLATE/bug.yml‎

Lines changed: 2 additions & 2 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,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/crash.yml‎

Lines changed: 3 additions & 2 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,13 @@ body:
2728
label: "CPython versions tested on:"
2829
multiple: true
2930
options:
30-
- "3.9"
3131
- "3.10"
3232
- "3.11"
3333
- "3.12"
3434
- "3.13"
3535
- "3.14"
3636
- "3.15"
37+
- "3.16"
3738
- "CPython main branch"
3839
validations:
3940
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)