Skip to content

Commit 1fb9441

Browse files
generatedunixname1734921407115435meta-codesync[bot]
authored andcommitted
Sync pre-release CPython 3.15 branch from GitHub (2026-05-13)
Summary: Imported python/cpython `3.15.0b1+` from upstream rev [`894ec10`](https://www.github.com/python/cpython/commit/894ec10b56d93743e082ac9569abf896e082a919) (committed 2026-05-13 23:34:59+00:00). # Commit Info Base: (`3.15.0b1+`) - [`15a597e`](https://www.github.com/python/cpython/commit/15a597e9ba0dd79bf953e181251788782fff6164) (commit date: 2026-05-13 03:36:32+00:00) Imported: (`3.15.0b1+`) - [`894ec10`](https://www.github.com/python/cpython/commit/894ec10b56d93743e082ac9569abf896e082a919) (commit date: 2026-05-13 23:34:59+00:00) # Noteworthy file changes - Build system files (2 added): `PCbuild/xxlimited_3_13.vcxproj`, `PCbuild/xxlimited_3_13.vcxproj.filters` - C files (1 added): ``` + Modules/xxlimited_3_13.c ``` - Low-signal files (7 added) (NEWS.d, docs, .github) Complete list of added/removed files: https://www.internalfb.com/intern/everpaste/?color=0&handle=GOrtwyZAmPcuvNQFADAHKwYkT7VDbr0LAAAz Differential Revision: D105116672 fbshipit-source-id: dc7ea0e1991747986fe6cb34486802ae922069cf
1 parent 86cfaf1 commit 1fb9441

51 files changed

Lines changed: 2229 additions & 674 deletions

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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -573,9 +573,9 @@ Lib/shutil.py @giampaolo
573573
Lib/test/test_shutil.py @giampaolo
574574

575575
# Site
576-
Lib/site.py @FFY00
577-
Lib/test/test_site.py @FFY00
578-
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
579579

580580
# string.templatelib
581581
Doc/library/string.templatelib.rst @lysnikolaou @AA-Turner

.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

Doc/c-api/sentinel.rst

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,20 @@ 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.
22+
23+
.. versionadded:: 3.15
24+
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.
1931
2032
.. versionadded:: 3.15
2133

Doc/c-api/stable.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ versions of Python.
114114

115115
All functions in Stable ABI are present as functions in Python's shared
116116
library, not solely as macros.
117-
This makes them usable are usable from languages that don't use the C
117+
This makes them usable in languages that don't use the C
118118
preprocessor, including Python's :py:mod:`ctypes`.
119119

120120

Include/cpython/sentinelobject.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
/* Sentinel object interface */
22

33
#ifndef Py_LIMITED_API
4-
#ifndef Py_SENTINELOBJECT_H
5-
#define Py_SENTINELOBJECT_H
4+
#ifndef _Py_SENTINELOBJECT_H
5+
#define _Py_SENTINELOBJECT_H
66
#ifdef __cplusplus
77
extern "C" {
88
#endif
99

1010
PyAPI_DATA(PyTypeObject) PySentinel_Type;
1111

12-
#define PySentinel_Check(op) Py_IS_TYPE((op), &PySentinel_Type)
12+
#define PySentinel_CheckExact(op) Py_IS_TYPE((op), &PySentinel_Type)
13+
14+
/* Alias as long as subclasses are not allowed. */
15+
#define PySentinel_Check(op) PySentinel_CheckExact(op)
1316

1417
PyAPI_FUNC(PyObject *) PySentinel_New(
1518
const char *name,
@@ -18,5 +21,5 @@ PyAPI_FUNC(PyObject *) PySentinel_New(
1821
#ifdef __cplusplus
1922
}
2023
#endif
21-
#endif /* !Py_SENTINELOBJECT_H */
24+
#endif /* !_Py_SENTINELOBJECT_H */
2225
#endif /* !Py_LIMITED_API */

Include/cpython/sliceobject.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#ifndef Py_CPYTHON_SLICEOBJECT_H
1+
#ifndef _Py_CPYTHON_SLICEOBJECT_H
22
# error "this header file must not be included directly"
33
#endif
44

Include/cpython/structseq.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#ifndef Py_CPYTHON_STRUCTSEQ_H
1+
#ifndef _Py_CPYTHON_STRUCTSEQ_H
22
# error "this header file must not be included directly"
33
#endif
44

Include/internal/pycore_jit_unwind.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#if defined(_Py_JIT) && defined(__linux__) && defined(__ELF__)
1212
# define PY_HAVE_JIT_GDB_UNWIND
1313
# if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE) && \
14-
defined(HAVE_LIBGCC_EH_FRAME_REGISTRATION)
14+
defined(_Py_HAVE_LIBGCC_EH_FRAME_REGISTRATION)
1515
# define PY_HAVE_JIT_GNU_BACKTRACE_UNWIND
1616
# endif
1717
#endif

Include/internal/pycore_mmap.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ extern "C" {
1111

1212
#include "pycore_pystate.h"
1313

14-
#if defined(HAVE_PR_SET_VMA_ANON_NAME) && defined(__linux__)
14+
#if defined(_Py_HAVE_PR_SET_VMA_ANON_NAME) && defined(__linux__)
1515
# include <linux/prctl.h>
1616
# include <sys/prctl.h>
1717
#endif
1818

19-
#if defined(HAVE_PR_SET_VMA_ANON_NAME) && defined(__linux__)
19+
#if defined(_Py_HAVE_PR_SET_VMA_ANON_NAME) && defined(__linux__)
2020
static inline int
2121
_PyAnnotateMemoryMap(void *addr, size_t size, const char *name)
2222
{

Include/sliceobject.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ PyAPI_FUNC(Py_ssize_t) PySlice_AdjustIndices(Py_ssize_t length,
4545
#endif
4646

4747
#ifndef Py_LIMITED_API
48-
# define Py_CPYTHON_SLICEOBJECT_H
48+
# define _Py_CPYTHON_SLICEOBJECT_H
4949
# include "cpython/sliceobject.h"
50-
# undef Py_CPYTHON_SLICEOBJECT_H
50+
# undef _Py_CPYTHON_SLICEOBJECT_H
5151
#endif
5252

5353
#ifdef __cplusplus

0 commit comments

Comments
 (0)