Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb3d8a8e

Browse files
authored
Merge branch 'main' into fix-132413
2 parentsc7fc55e +61ac88c commitb3d8a8e

File tree

607 files changed

+25584
-6544
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

607 files changed

+25584
-6544
lines changed

‎.github/CODEOWNERS

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ Include/internal/pycore_time.h @pganssle @abalkin
188188

189189
# AST
190190
Python/ast.c@isidentical@JelleZijlstra@eclips4
191-
Python/ast_opt.c@isidentical@eclips4
191+
Python/ast_preprocess.c@isidentical@eclips4
192192
Parser/asdl.py@isidentical@JelleZijlstra@eclips4
193193
Parser/asdl_c.py@isidentical@JelleZijlstra@eclips4
194194
Lib/ast.py@isidentical@JelleZijlstra@eclips4
@@ -298,7 +298,12 @@ Lib/test/test_interpreters/ @ericsnowcurrently
298298
**/*-ios*@freakboy3742
299299

300300
# WebAssembly
301-
/Tools/wasm/@brettcannon@freakboy3742
301+
Tools/wasm/config.site-wasm32-emscripten@freakboy3742
302+
/Tools/wasm/README.md@brettcannon@freakboy3742
303+
/Tools/wasm/wasi-env@brettcannon
304+
/Tools/wasm/wasi.py@brettcannon
305+
/Tools/wasm/emscripten@freakboy3742
306+
/Tools/wasm/wasi@brettcannon
302307

303308
# SBOM
304309
/Misc/externals.spdx.json@sethmlarson

‎.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ body:
4040
-"3.12"
4141
-"3.13"
4242
-"3.14"
43+
-"3.15"
4344
-"CPython main branch"
4445
validations:
4546
required:true

‎.github/ISSUE_TEMPLATE/crash.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ body:
3333
-"3.12"
3434
-"3.13"
3535
-"3.14"
36+
-"3.15"
3637
-"CPython main branch"
3738
validations:
3839
required:true

‎.github/workflows/jit.yml

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,10 @@ jobs:
9595
with:
9696
python-version:'3.11'
9797

98+
# PCbuild downloads LLVM automatically:
9899
-name:Windows
99100
if:runner.os == 'Windows'
100101
run:|
101-
choco install llvm --allow-downgrade --no-progress --version ${{ matrix.llvm }}.1.0
102102
./PCbuild/build.bat --experimental-jit ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }}
103103
./PCbuild/rt.bat ${{ matrix.debug && '-d' || '' }} -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
104104
@@ -126,29 +126,30 @@ jobs:
126126
make all --jobs 4
127127
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
128128
129-
jit-with-disabled-gil:
130-
name:Free-Threaded (Debug)
131-
needs:interpreter
132-
runs-on:ubuntu-24.04
133-
timeout-minutes:90
134-
strategy:
135-
fail-fast:false
136-
matrix:
137-
llvm:
138-
-19
139-
steps:
140-
-uses:actions/checkout@v4
141-
with:
142-
persist-credentials:false
143-
-uses:actions/setup-python@v5
144-
with:
145-
python-version:'3.11'
146-
-name:Build with JIT enabled and GIL disabled
147-
run:|
148-
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
149-
export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
150-
./configure --enable-experimental-jit --with-pydebug --disable-gil
151-
make all --jobs 4
152-
-name:Run tests
153-
run:|
154-
./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
129+
# XXX: GH-133171
130+
# jit-with-disabled-gil:
131+
# name: Free-Threaded (Debug)
132+
# needs: interpreter
133+
# runs-on: ubuntu-24.04
134+
# timeout-minutes: 90
135+
# strategy:
136+
# fail-fast: false
137+
# matrix:
138+
# llvm:
139+
# - 19
140+
# steps:
141+
# - uses: actions/checkout@v4
142+
# with:
143+
# persist-credentials: false
144+
# - uses: actions/setup-python@v5
145+
# with:
146+
# python-version: '3.11'
147+
# - name: Build with JIT enabled and GIL disabled
148+
# run: |
149+
# sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }}
150+
# export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH"
151+
# ./configure --enable-experimental-jit --with-pydebug --disable-gil
152+
# make all --jobs 4
153+
# - name: Run tests
154+
# run: |
155+
# ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3

‎.github/workflows/mypy.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ on:
1919
-"Tools/jit/**"
2020
-"Tools/peg_generator/**"
2121
-"Tools/requirements-dev.txt"
22-
-"Tools/wasm/**"
2322
workflow_dispatch:
2423

2524
permissions:
@@ -51,7 +50,6 @@ jobs:
5150
"Tools/clinic",
5251
"Tools/jit",
5352
"Tools/peg_generator",
54-
"Tools/wasm",
5553
]
5654
steps:
5755
-uses:actions/checkout@v4

‎.github/workflows/reusable-context.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ jobs:
9797
run:python Tools/build/compute-changes.py
9898
env:
9999
GITHUB_DEFAULT_BRANCH:${{ github.event.repository.default_branch }}
100+
CCF_TARGET_REF:${{ github.base_ref || github.event.repository.default_branch }}
101+
CCF_HEAD_REF:${{ github.event.pull_request.head.sha || github.sha }}
100102

101103
-name:Compute hash for config cache key
102104
id:config-hash

‎.pre-commit-config.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
-repo:https://github.com/astral-sh/ruff-pre-commit
3-
rev:v0.11.6
3+
rev:v0.11.8
44
hooks:
55
-id:ruff
66
name:Run Ruff (lint) on Doc/
@@ -22,14 +22,14 @@ repos:
2222
name:Run Ruff (format) on Doc/
2323
args:[--check]
2424
files:^Doc/
25+
-id:ruff-format
26+
name:Run Ruff (format) on Tools/build/check_warnings.py
27+
args:[--check, --config=Tools/build/.ruff.toml]
28+
files:^Tools/build/check_warnings.py
2529

2630
-repo:https://github.com/psf/black-pre-commit-mirror
2731
rev:25.1.0
2832
hooks:
29-
-id:black
30-
name:Run Black on Tools/build/check_warnings.py
31-
files:^Tools/build/check_warnings.py
32-
args:[--line-length=79]
3333
-id:black
3434
name:Run Black on Tools/jit/
3535
files:^Tools/jit/

‎.ruff.toml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Default settings for Ruff in CPython
2+
3+
# PYTHON_FOR_REGEN
4+
target-version ="py310"
5+
6+
# PEP 8
7+
line-length =79
8+
9+
# Enable automatic fixes by default.
10+
# To override this, use ``fix = false`` in a subdirectory's config file
11+
# or ``--no-fix`` on the command line.
12+
fix =true

‎Android/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,13 @@ it:
2525
`android-sdk/cmdline-tools/latest`.
2626
*`export ANDROID_HOME=/path/to/android-sdk`
2727

28-
The`android.py` script also requires the following commands to be on the`PATH`:
28+
The`android.py` script will automatically use the SDK's`sdkmanager` to install
29+
any packages it needs.
30+
31+
The script also requires the following commands to be on the`PATH`:
2932

3033
*`curl`
3134
*`java` (or set the`JAVA_HOME` environment variable)
32-
*`tar`
3335

3436

3537
##Building
@@ -97,7 +99,7 @@ similar to the `Android` directory of the CPython source tree.
9799
The Python test suite can be run on Linux, macOS, or Windows:
98100

99101
* On Linux, the emulator needs access to the KVM virtualization interface, and
100-
a DISPLAY environment variable pointing at an X server.
102+
a DISPLAY environment variable pointing at an X server. Xvfb is acceptable.
101103

102104
The test suite can usually be run on a device with 2 GB of RAM, but this is
103105
borderline, so you may need to increase it to 4 GB. As of Android

‎Android/android.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -138,19 +138,19 @@ def make_build_python(context):
138138
run(["make","-j",str(os.cpu_count())])
139139

140140

141-
defunpack_deps(host):
141+
defunpack_deps(host,prefix_dir):
142142
deps_url="https://github.com/beeware/cpython-android-source-deps/releases/download"
143143
forname_verin ["bzip2-1.0.8-2","libffi-3.4.4-3","openssl-3.0.15-4",
144144
"sqlite-3.49.1-0","xz-5.4.6-1"]:
145145
filename=f"{name_ver}-{host}.tar.gz"
146146
download(f"{deps_url}/{name_ver}/{filename}")
147-
run(["tar","-xf",filename])
147+
shutil.unpack_archive(filename,prefix_dir)
148148
os.remove(filename)
149149

150150

151151
defdownload(url,target_dir="."):
152152
out_path=f"{target_dir}/{basename(url)}"
153-
run(["curl","-Lf","-o",out_path,url])
153+
run(["curl","-Lf","--retry","5","--retry-all-errors","-o",out_path,url])
154154
returnout_path
155155

156156

@@ -162,8 +162,7 @@ def configure_host_python(context):
162162
prefix_dir=host_dir/"prefix"
163163
ifnotprefix_dir.exists():
164164
prefix_dir.mkdir()
165-
os.chdir(prefix_dir)
166-
unpack_deps(context.host)
165+
unpack_deps(context.host,prefix_dir)
167166

168167
os.chdir(host_dir)
169168
command= [
@@ -241,16 +240,15 @@ def setup_sdk():
241240
# the Gradle wrapper is not included in the CPython repository. Instead, we
242241
# extract it from the Gradle GitHub repository.
243242
defsetup_testbed():
244-
# The Gradle version used for the build is specified in
245-
# testbed/gradle/wrapper/gradle-wrapper.properties. This wrapper version
246-
# doesn't need to match, as any version of the wrapper can download any
247-
# version of Gradle.
248-
version="8.9.0"
249243
paths= ["gradlew","gradlew.bat","gradle/wrapper/gradle-wrapper.jar"]
250-
251244
ifall((TESTBED_DIR/path).exists()forpathinpaths):
252245
return
253246

247+
# The wrapper version isn't important, as any version of the wrapper can
248+
# download any version of Gradle. The Gradle version actually used for the
249+
# build is specified in testbed/gradle/wrapper/gradle-wrapper.properties.
250+
version="8.9.0"
251+
254252
forpathinpaths:
255253
out_path=TESTBED_DIR/path
256254
out_path.parent.mkdir(exist_ok=True)

‎Doc/.ruff.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1+
extend ="../.ruff.toml"# Inherit the project-wide settings
2+
13
target-version ="py312"# Align with the version in oldest_supported_sphinx
2-
fix =true
3-
output-format ="full"
4-
line-length =79
54
extend-exclude = [
65
"includes/*",
76
# Temporary exclusions:

‎Doc/c-api/arg.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ small to receive the value.
274274
Convert a Python integer to a C:c:expr:`unsigned long` without
275275
overflow checking.
276276

277-
..versionchanged::next
277+
..versionchanged::3.14
278278
Use:meth:`~object.__index__` if available.
279279

280280
``L`` (:class:`int`) [long long]
@@ -284,7 +284,7 @@ small to receive the value.
284284
Convert a Python integer to a C:c:expr:`unsigned long long`
285285
without overflow checking.
286286

287-
..versionchanged::next
287+
..versionchanged::3.14
288288
Use:meth:`~object.__index__` if available.
289289

290290
``n`` (:class:`int`) [:c:type:`Py_ssize_t`]
@@ -380,10 +380,10 @@ Other objects
380380
The *converter* for the ``O&`` format unit in *items* must not store
381381
a borrowed buffer or a borrowed reference.
382382

383-
..versionchanged::next
383+
..versionchanged::3.14
384384
:class:`str` and:class:`bytearray` objects no longer accepted as a sequence.
385385

386-
..deprecated::next
386+
..deprecated::3.14
387387
Non-tuple sequences are deprecated if *items* contains format units
388388
which store a borrowed buffer or a borrowed reference.
389389

@@ -396,7 +396,7 @@ Other objects
396396
If the argument is not ``None``, it is parsed according to the specified
397397
format unit.
398398

399-
..versionadded::next
399+
..versionadded::3.14
400400

401401
A few other characters have a meaning in a format string. These may not occur
402402
inside nested parentheses. They are:

‎Doc/c-api/float.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ NaNs (if such things exist on the platform) isn't handled correctly, and
9696
attempting to unpack a bytes string containing an IEEE INF or NaN will raise an
9797
exception.
9898
99+
Note that NaNs type may not be preserved on IEEE platforms (silent NaN become
100+
quiet), for example on x86 systems in 32-bit mode.
101+
99102
On non-IEEE platforms with more precision, or larger dynamic range, than IEEE
100103
754 supports, not all values can be packed; on non-IEEE platforms with less
101104
precision, or smaller dynamic range, not all values can be unpacked. What

‎Doc/c-api/init_config.rst

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ Configuration Options
363363
- Read-only
364364
* - ``"import_time"``
365365
-:c:member:`import_time <PyConfig.import_time>`
366-
- ``bool``
366+
- ``int``
367367
- Read-only
368368
* - ``"inspect"``
369369
-:c:member:`inspect <PyConfig.inspect>`
@@ -1477,13 +1477,19 @@ PyConfig
14771477
14781478
.. c:member:: int import_time
14791479
1480-
If non-zero, profile import time.
1480+
If ``1``, profile import time.
1481+
If ``2``, include additional output that indicates
1482+
when an imported module has already been loaded.
14811483
1482-
Setthe ``1``by the :option:`-X importtime <-X>` option and the
1484+
Set by the :option:`-X importtime <-X>` option and the
14831485
:envvar:`PYTHONPROFILEIMPORTTIME` environment variable.
14841486
14851487
Default: ``0``.
14861488
1489+
.. versionchanged:: 3.14
1490+
1491+
Added support for ``import_time = 2``
1492+
14871493
.. c:member:: int inspect
14881494
14891495
Enter interactive mode after executing a script or a command.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp