Skip to content

Commit 0546fc8

Browse files
generatedunixname1734921407115435meta-codesync[bot]
authored andcommitted
Import CPython 3.14.6+ stable branch (2026-07-31)
Summary: Imported python/cpython `3.14.6+` from upstream rev [`802a2c8`](https://www.github.com/python/cpython/commit/802a2c8b7a91d700c8bf342a27cd096ac444af41) (committed 2026-07-31 17:35:03+00:00). # Commit Info - Base: (`3.14.6+`) - [`91abbe6`](https://www.github.com/python/cpython/commit/91abbe6fda91632cab5f47a383445eecc4da619e) (commit date: 2026-07-30 20:51:35+00:00) - Imported: (`3.14.6+`) - [`802a2c8`](https://www.github.com/python/cpython/commit/802a2c8b7a91d700c8bf342a27cd096ac444af41) (commit date: 2026-07-31 17:35:03+00:00) # Noteworthy file changes - Low-signal files (2 added) (NEWS.d, docs, .github) Complete list of added/removed files: https://www.internalfb.com/intern/everpaste/?color=0&handle=GAj2bycbyAyKloMGAHROQJUGTzECbr0LAAAz Reviewed By: itamaro Differential Revision: D114471017 fbshipit-source-id: 49526b121aeb4d4fdde7651ec23722dd49eb82c0
1 parent 25e5c02 commit 0546fc8

52 files changed

Lines changed: 632 additions & 409 deletions

Some content is hidden

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

.github/workflows/reusable-san.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
SAN_LOG_OPTION: log_path=${{ github.workspace }}/san_log
6363
SUPPRESSIONS_SUFFIX: >-
6464
${{
65-
fromJSON(inputs.free-threading)
65+
inputs.free-threading
6666
&& '_free_threading'
6767
|| ''
6868
}}
@@ -106,7 +106,7 @@ jobs:
106106
}}
107107
--with-pydebug
108108
${{ inputs.sanitizer == 'TSan' && '--with-openssl="$OPENSSL_DIR" --with-openssl-rpath=auto' || '' }}
109-
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
109+
${{ inputs.free-threading && '--disable-gil' || '' }}
110110
- name: Build CPython
111111
run: make -j4
112112
- name: Display build info
@@ -119,7 +119,7 @@ jobs:
119119
- name: Parallel tests
120120
if: >-
121121
inputs.sanitizer == 'TSan'
122-
&& fromJSON(inputs.free-threading)
122+
&& inputs.free-threading
123123
run: ./python -m test --tsan-parallel --parallel-threads=4 -j4 -W --timeout=600 --slowest
124124
- name: Display logs
125125
if: always()
@@ -130,7 +130,7 @@ jobs:
130130
with:
131131
name: >-
132132
${{ inputs.sanitizer }}-logs-${{
133-
fromJSON(inputs.free-threading)
133+
inputs.free-threading
134134
&& 'free-threading'
135135
|| 'default'
136136
}}

.github/workflows/reusable-ubuntu.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ on:
1414
type: boolean
1515
default: false
1616
os:
17-
description: OS to run the job
18-
required: true
19-
type: string
17+
description: OS to run the job
18+
required: true
19+
type: string
2020

2121
permissions:
2222
contents: read
@@ -42,7 +42,7 @@ jobs:
4242
- name: Install dependencies
4343
run: sudo ./.github/workflows/posix-deps-apt.sh
4444
- name: Install Clang and BOLT
45-
if: ${{ fromJSON(inputs.bolt-optimizations) }}
45+
if: inputs.bolt-optimizations
4646
# For BOLT jobs, https://apt.llvm.org/llvm.sh doesn't support LLVM 19
4747
# on Ubuntu 26.04, so stick to Ubuntu 24.04 until LLVM is upgraded.
4848
run: |
@@ -85,10 +85,10 @@ jobs:
8585
--enable-slower-safety
8686
--enable-safety
8787
--with-openssl="$OPENSSL_DIR"
88-
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
89-
${{ fromJSON(inputs.bolt-optimizations) && '--enable-bolt' || '' }}
88+
${{ inputs.free-threading && '--disable-gil' || '' }}
89+
${{ inputs.bolt-optimizations && '--enable-bolt' || '' }}
9090
- name: Build CPython out-of-tree
91-
if: ${{ inputs.free-threading }}
91+
if: inputs.free-threading
9292
working-directory: ${{ env.CPYTHON_BUILDDIR }}
9393
run: make -j
9494
- name: Build CPython out-of-tree (for compiler warning check)

.github/workflows/reusable-windows.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
.\\PCbuild\\build.bat
4141
-e -d -v
4242
-p "${ARCH}"
43-
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
43+
${{ inputs.free-threading && '--disable-gil' || '' }}
4444
shell: bash
4545
- name: Display build info
4646
run: .\\python.bat -m test.pythoninfo
@@ -49,5 +49,5 @@ jobs:
4949
.\\PCbuild\\rt.bat
5050
-p "${ARCH}"
5151
-d -q --fast-ci
52-
${{ fromJSON(inputs.free-threading) && '--disable-gil' || '' }}
52+
${{ inputs.free-threading && '--disable-gil' || '' }}
5353
shell: bash

Doc/c-api/exceptions.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,7 @@ Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types requ
10381038
special recursion handling. In addition to protecting the stack,
10391039
:c:member:`~PyTypeObject.tp_repr` also needs to track objects to prevent cycles. The
10401040
following two functions facilitate this functionality. Effectively,
1041-
these are the C equivalent to :func:`reprlib.recursive_repr`.
1041+
these are the C equivalent to :deco:`reprlib.recursive_repr`.
10421042
10431043
.. c:function:: int Py_ReprEnter(PyObject *object)
10441044

Doc/c-api/structures.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -419,8 +419,8 @@ method.
419419
420420
The method will be passed the type object as the first parameter rather
421421
than an instance of the type. This is used to create *class methods*,
422-
similar to what is created when using the :func:`classmethod` built-in
423-
function.
422+
similar to what is created when using the :deco:`classmethod` built-in
423+
decorator.
424424
425425
426426
.. c:macro:: METH_STATIC
@@ -429,7 +429,7 @@ method.
429429
430430
The method will be passed ``NULL`` as the first parameter rather than an
431431
instance of the type. This is used to create *static methods*, similar to
432-
what is created when using the :func:`staticmethod` built-in function.
432+
what is created when using the :deco:`staticmethod` built-in decorator.
433433
434434
One other constant controls whether a method is loaded in place of another
435435
definition with the same method name.

Doc/deprecations/pending-removal-in-3.15.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Pending removal in Python 3.15
8282
Use ``class TD(TypedDict): pass`` or ``TD = TypedDict("TD", {})``
8383
to create a TypedDict with zero field.
8484

85-
* The :func:`typing.no_type_check_decorator` decorator function
85+
* The :deco:`typing.no_type_check_decorator` decorator function
8686
has been deprecated since Python 3.13.
8787
After eight years in the :mod:`typing` module,
8888
it has yet to be supported by any major type checker.

Doc/faq/programming.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2003,7 +2003,7 @@ How do I cache method calls?
20032003
----------------------------
20042004

20052005
The two principal tools for caching methods are
2006-
:func:`functools.cached_property` and :func:`functools.lru_cache`. The
2006+
:deco:`functools.cached_property` and :deco:`functools.lru_cache`. The
20072007
former stores results at the instance level and the latter at the class
20082008
level.
20092009

Doc/glossary.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ Glossary
416416
decorator
417417
A function returning another function, usually applied as a function
418418
transformation using the ``@wrapper`` syntax. Common examples for
419-
decorators are :func:`classmethod` and :func:`staticmethod`.
419+
decorators are :deco:`classmethod` and :deco:`staticmethod`.
420420

421421
The decorator syntax is merely syntactic sugar, the following two
422422
function definitions are semantically equivalent::
@@ -689,7 +689,7 @@ Glossary
689689
determined by the dispatch algorithm.
690690

691691
See also the :term:`single dispatch` glossary entry, the
692-
:func:`functools.singledispatch` decorator, and :pep:`443`.
692+
:deco:`functools.singledispatch` decorator, and :pep:`443`.
693693

694694
generic type
695695
A :term:`type` that can be parameterized; typically a

Doc/howto/annotations.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ on an arbitrary object ``o``:
154154
as the ``globals``, and ``dict(vars(o))`` as the ``locals``,
155155
when calling :func:`eval`.
156156
* If ``o`` is a wrapped callable using :func:`functools.update_wrapper`,
157-
:func:`functools.wraps`, or :func:`functools.partial`, iteratively
157+
:deco:`functools.wraps`, or :func:`functools.partial`, iteratively
158158
unwrap it by accessing either ``o.__wrapped__`` or ``o.func`` as
159159
appropriate, until you have found the root unwrapped function.
160160
* If ``o`` is a callable (but not a class), use

Doc/howto/descriptor.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ This guide has four major sections:
2828
4) The last section has pure Python equivalents for built-in descriptors that
2929
are written in C. Read this if you're curious about how functions turn
3030
into bound methods or about the implementation of common tools like
31-
:func:`classmethod`, :func:`staticmethod`, :func:`property`, and
31+
:deco:`classmethod`, :deco:`staticmethod`, :deco:`property`, and
3232
:term:`__slots__`.
3333

3434

@@ -317,8 +317,8 @@ Descriptors invert that relationship and allow the data being looked-up to
317317
have a say in the matter.
318318

319319
Descriptors are used throughout the language. It is how functions turn into
320-
bound methods. Common tools like :func:`classmethod`, :func:`staticmethod`,
321-
:func:`property`, and :func:`functools.cached_property` are all implemented as
320+
bound methods. Common tools like :deco:`classmethod`, :deco:`staticmethod`,
321+
:deco:`property`, and :deco:`functools.cached_property` are all implemented as
322322
descriptors.
323323

324324

@@ -1326,7 +1326,7 @@ example calls are unexciting:
13261326
30
13271327

13281328
Using the non-data descriptor protocol, a pure Python version of
1329-
:func:`staticmethod` would look like this:
1329+
:deco:`staticmethod` would look like this:
13301330

13311331
.. testcode::
13321332

@@ -1466,7 +1466,7 @@ Now a new dictionary of unique keys can be constructed like this:
14661466
{'a': None, 'b': None, 'r': None, 'c': None, 'd': None}
14671467

14681468
Using the non-data descriptor protocol, a pure Python version of
1469-
:func:`classmethod` would look like this:
1469+
:deco:`classmethod` would look like this:
14701470

14711471
.. testcode::
14721472

@@ -1604,7 +1604,7 @@ matters when a large number of instances are going to be created.
16041604
4. Improves speed. Reading instance variables is 35% faster with
16051605
``__slots__`` (as measured with Python 3.10 on an Apple M1 processor).
16061606

1607-
5. Blocks tools like :func:`functools.cached_property` which require an
1607+
5. Blocks tools like :deco:`functools.cached_property` which require an
16081608
instance dictionary to function correctly:
16091609

16101610
.. testcode::

0 commit comments

Comments
 (0)