Skip to content

Commit da22a59

Browse files
committed
Merge remote-tracking branch 'origin/main' into pyslice_fromindices
2 parents 6aae3ee + cb3b4b9 commit da22a59

457 files changed

Lines changed: 155426 additions & 24529 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.

.github/CODEOWNERS

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -156,16 +156,15 @@ 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
@@ -176,8 +175,8 @@ Lib/test/test__osx_support.py @python/macos-team
176175
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
177176

178177
# WebAssembly (Emscripten)
179-
Tools/wasm/config.site-wasm32-emscripten @freakboy3742 @emmatyping
180-
Tools/wasm/emscripten @freakboy3742 @emmatyping
178+
Platforms/emscripten @freakboy3742 @emmatyping
179+
Tools/wasm/emscripten @freakboy3742 @emmatyping
181180

182181
# WebAssembly (WASI)
183182
Platforms/WASI @brettcannon @emmatyping @savannahostrowski
@@ -574,9 +573,9 @@ Lib/shutil.py @giampaolo
574573
Lib/test/test_shutil.py @giampaolo
575574

576575
# Site
577-
Lib/site.py @FFY00
578-
Lib/test/test_site.py @FFY00
579-
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
580579

581580
# string.templatelib
582581
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner
@@ -587,10 +586,10 @@ Lib/test/test_string/test_templatelib.py @lysnikolaou @AA-Turner
587586
**/*sysconfig* @FFY00
588587

589588
# 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
589+
Doc/library/sqlite3.rst @erlend-aasland
590+
Lib/sqlite3/ @erlend-aasland
591+
Lib/test/test_sqlite3/ @erlend-aasland
592+
Modules/_sqlite/ @erlend-aasland
594593

595594
# Subprocess
596595
Lib/subprocess.py @gpshead
@@ -623,9 +622,6 @@ 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

.github/workflows/build.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,16 +206,16 @@ jobs:
206206
strategy:
207207
fail-fast: false
208208
matrix:
209-
# macos-26 is Apple Silicon, macos-15-intel is Intel.
210-
# macos-15-intel only runs tests against the GIL-enabled CPython.
209+
# macos-26 is Apple Silicon, macos-26-intel is Intel.
210+
# macos-26-intel only runs tests against the GIL-enabled CPython.
211211
os:
212212
- macos-26
213-
- macos-15-intel
213+
- macos-26-intel
214214
free-threading:
215215
- false
216216
- true
217217
exclude:
218-
- os: macos-15-intel
218+
- os: macos-26-intel
219219
free-threading: true
220220
uses: ./.github/workflows/reusable-macos.yml
221221
with:

.github/workflows/mypy.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,11 @@ jobs:
6969
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7070
with:
7171
persist-credentials: false
72-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
72+
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
7373
with:
7474
python-version: "3.15"
75-
allow-prereleases: true
76-
cache: pip
77-
cache-dependency-path: Tools/requirements-dev.txt
78-
- run: pip install -r Tools/requirements-dev.txt
75+
activate-environment: true
76+
cache-dependency-glob: Tools/requirements-dev.txt
77+
- run: uv pip install -r Tools/requirements-dev.txt
7978
- run: python3 Misc/mypy/make_symlinks.py --symlink
80-
- run: mypy --config-file ${{ matrix.target }}/mypy.ini
79+
- run: mypy --num-workers 4 --config-file ${{ matrix.target }}/mypy.ini

.github/workflows/posix-deps-apt.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ apt-get -yq --no-install-recommends install \
2727
zlib1g-dev
2828

2929
# Workaround missing libmpdec-dev on ubuntu 24.04 by building mpdecimal
30-
# from source. ppa:ondrej/php (launchpad.net) are unreliable
30+
# from source. ppa:ondrej/php (launchpad.net) are unreliable
3131
# (https://status.canonical.com) so fetch the tarball directly
3232
# from the upstream host.
3333
# https://www.bytereef.org/mpdecimal/

.github/workflows/reusable-macos.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,8 @@ jobs:
3838
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
3939
- name: Install Homebrew dependencies
4040
run: |
41-
brew install pkg-config openssl@3.5 xz gdbm tcl-tk@9 make
42-
# Because alternate versions are not symlinked into place by default:
43-
brew link --overwrite tcl-tk@9
41+
brew bundle --file=Misc/Brewfile
42+
brew install make
4443
- name: Configure CPython
4544
run: |
4645
MACOSX_DEPLOYMENT_TARGET=10.15 \
@@ -55,15 +54,15 @@ jobs:
5554
--prefix=/opt/python-dev \
5655
--with-openssl="$(brew --prefix openssl@3.5)"
5756
- name: Build CPython
58-
if : ${{ inputs.free-threading || inputs.os != 'macos-15-intel' }}
57+
if : ${{ inputs.free-threading || inputs.os != 'macos-26-intel' }}
5958
run: gmake -j8
6059
- name: Build CPython for compiler warning check
61-
if : ${{ !inputs.free-threading && inputs.os == 'macos-15-intel' }}
60+
if : ${{ !inputs.free-threading && inputs.os == 'macos-26-intel' }}
6261
run: set -o pipefail; gmake -j8 --output-sync 2>&1 | tee compiler_output_macos.txt
6362
- name: Display build info
6463
run: make pythoninfo
6564
- name: Check compiler warnings
66-
if : ${{ !inputs.free-threading && inputs.os == 'macos-15-intel' }}
65+
if : ${{ !inputs.free-threading && inputs.os == 'macos-26-intel' }}
6766
run: >-
6867
python3 Tools/build/check_warnings.py
6968
--compiler-output-file-path=compiler_output_macos.txt

.github/workflows/reusable-windows.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ permissions:
2222

2323
env:
2424
FORCE_COLOR: 1
25-
IncludeUwp: >-
26-
true
2725

2826
jobs:
2927
build:

.github/workflows/stale.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ jobs:
2121
uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
2222
with:
2323
repo-token: ${{ secrets.GITHUB_TOKEN }}
24-
stale-pr-message: 'This PR is stale because it has been open for 30 days with no activity.'
24+
stale-pr-message: 'This PR is stale because it has been open for 90 days with no activity.'
2525
stale-pr-label: 'stale'
2626
days-before-issue-stale: -1
27-
days-before-pr-stale: 30
27+
days-before-pr-stale: 90
2828
days-before-close: -1
2929
ascending: true
3030
operations-per-run: 120

Doc/c-api/dict.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Dictionary objects
151151
* If the key is present, set *\*result* to a new :term:`strong reference`
152152
to the value and return ``1``.
153153
* If the key is missing, set *\*result* to ``NULL`` and return ``0``.
154-
* On error, raise an exception and return ``-1``.
154+
* On error, raise an exception, set *\*result* to ``NULL`` and return ``-1``.
155155
156156
The first argument can be a :class:`dict` or a :class:`frozendict`.
157157

Doc/c-api/import.rst

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -393,11 +393,6 @@ Importing Modules
393393
394394
Make all imports lazy by default.
395395
396-
.. c:enumerator:: PyImport_LAZY_NONE
397-
398-
Disable lazy imports entirely. Even explicit ``lazy`` statements become
399-
eager imports.
400-
401396
.. versionadded:: 3.15
402397
403398
.. c:function:: PyObject* PyImport_CreateModuleFromInitfunc(PyObject *spec, PyObject* (*initfunc)(void))

Doc/c-api/sentinel.rst

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,29 @@ Sentinel objects
1414

1515
.. c:function:: int PySentinel_Check(PyObject *o)
1616
17-
Return true if *o* is a :class:`sentinel` object. The :class:`sentinel` type
18-
does not allow subclasses, so this check is exact.
17+
Return true if *o* is a :class:`sentinel` object or a subtype.
18+
The :class:`sentinel` type does not currently allow subclasses,
19+
so this check is exact.
20+
Future Python versions may choose to allow subtyping.
21+
This function always succeeds.
1922
2023
.. versionadded:: 3.15
2124
22-
.. c:function:: PyObject* PySentinel_New(const char *name, const char *module_name)
25+
.. c:function:: int PySentinel_CheckExact(PyObject *o)
26+
27+
Return true if *o* is a :class:`sentinel` object, but not a subtype.
28+
The :class:`sentinel` type does not currently allow subclasses.
29+
Future Python versions may choose to allow subtyping.
30+
This function always succeeds.
31+
32+
.. versionadded:: 3.15
33+
34+
.. c:function:: PyObject* PySentinel_New(const char *name, const char *module_name, const char *repr)
2335
2436
Return a new :class:`sentinel` object with :attr:`~sentinel.__name__` set to
2537
*name* and :attr:`~sentinel.__module__` set to *module_name*.
2638
*name* must not be ``NULL``. If *module_name* is ``NULL``, :attr:`~sentinel.__module__`
27-
is set to ``None``.
39+
is set to ``None``. If *repr* is ``NULL``, ``repr()`` returns :attr:`~sentinel.__name__`.
2840
Return ``NULL`` with an exception set on failure.
2941
3042
For pickling to work, *module_name* must be the name of an importable

0 commit comments

Comments
 (0)