Skip to content

Commit dfa2d20

Browse files
committed
feat: add CPython 3.15
1 parent de9d921 commit dfa2d20

File tree

5 files changed

+45
-13
lines changed

5 files changed

+45
-13
lines changed

README.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -323,12 +323,12 @@ Image content
323323

324324
All supported images currently contain:
325325

326-
- CPython 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t and PyPy 3.11 installed in
326+
- CPython 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, 3.15, 3.15t and PyPy 3.11 installed in
327327
``/opt/python/<python tag>-<abi tag>``. The directories are named
328328
after the PEP 425 tags for each environment --
329-
e.g. ``/opt/python/cp313-cp313`` contains a CPython 3.13 build, and
329+
e.g. ``/opt/python/cp314-cp314`` contains a CPython 3.14 build, and
330330
can be used to produce wheels named like
331-
``<pkg>-<version>-cp313-cp313-<arch>.whl``.
331+
``<pkg>-<version>-cp314-cp314-<arch>.whl``.
332332

333333
- Development packages for all the libraries that PEP 571/599 list. One should not assume the presence of any other development package.
334334

docker/Dockerfile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,16 @@ ARG MANYLINUX_DISABLE_CLANG_FOR_CPYTHON
199199
RUN --mount=type=bind,from=static_clang,target=/tmp/cross-compiler,ro \
200200
/tmp/cross-compiler/entrypoint /opt/_internal/build_scripts/build-cpython.sh hugo@python.org https://github.com/login/oauth 3.14.2 nogil
201201

202+
FROM build_cpython AS build_cpython315
203+
ARG MANYLINUX_DISABLE_CLANG_FOR_CPYTHON
204+
RUN --mount=type=bind,from=static_clang,target=/tmp/cross-compiler,ro \
205+
/tmp/cross-compiler/entrypoint /opt/_internal/build_scripts/build-cpython.sh hugo@python.org https://github.com/login/oauth 3.15.0a2
206+
207+
FROM build_cpython AS build_cpython315_nogil
208+
ARG MANYLINUX_DISABLE_CLANG_FOR_CPYTHON
209+
RUN --mount=type=bind,from=static_clang,target=/tmp/cross-compiler,ro \
210+
/tmp/cross-compiler/entrypoint /opt/_internal/build_scripts/build-cpython.sh hugo@python.org https://github.com/login/oauth 3.15.0a2 nogil
211+
202212

203213
FROM runtime_base
204214
COPY --from=build_tcl_tk /manylinux-rootfs /
@@ -214,9 +224,11 @@ RUN --mount=type=bind,target=/build_cpython39,from=build_cpython39 \
214224
--mount=type=bind,target=/build_cpython313,from=build_cpython313 \
215225
--mount=type=bind,target=/build_cpython314,from=build_cpython314 \
216226
--mount=type=bind,target=/build_cpython314_nogil,from=build_cpython314_nogil \
227+
--mount=type=bind,target=/build_cpython315,from=build_cpython315 \
228+
--mount=type=bind,target=/build_cpython315_nogil,from=build_cpython315_nogil \
217229
mkdir -p /opt/_internal && \
218230
cp -rf /build_cpython*/opt/_internal/cpython* /opt/_internal/ && \
219-
if test -n "$(find /build_cpython314/opt/_internal -maxdepth 1 -name 'openssl*' -print -quit)"; then cp -rf /build_cpython314/opt/_internal/openssl* /opt/_internal/; fi && \
231+
if test -n "$(find /build_cpython315/opt/_internal -maxdepth 1 -name 'openssl*' -print -quit)"; then cp -rf /build_cpython315/opt/_internal/openssl* /opt/_internal/; fi && \
220232
manylinux-entrypoint /opt/_internal/build_scripts/finalize.sh \
221233
pp311-pypy311_pp73
222234

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# This file was autogenerated by uv via the following command:
2+
# nox -s update_python_dependencies
3+
build==1.3.0 \
4+
--hash=sha256:698edd0ea270bde950f53aed21f3a0135672206f3911e0176261a31e0e07b397 \
5+
--hash=sha256:7145f0b5061ba90a1500d60bd1b13ca0a8a4cebdd0cc16ed8adf1c0e739f43b4
6+
# via -r requirements.in
7+
packaging==25.0 \
8+
--hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
9+
--hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
10+
# via
11+
# -r requirements.in
12+
# build
13+
pip==25.3 ; implementation_name != 'graalpy' \
14+
--hash=sha256:8d0538dbbd7babbd207f261ed969c65de439f6bc9e5dbd3b3b9a77f25d95f343 \
15+
--hash=sha256:9655943313a94722b7774661c21049070f6bbb0a1516bf02f7c8d5d9201514cd
16+
# via -r requirements.in
17+
pyproject-hooks==1.2.0 \
18+
--hash=sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8 \
19+
--hash=sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913
20+
# via build

docker/tests/run_tests.sh

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ set -exuo pipefail
77
MY_DIR=$(dirname "${BASH_SOURCE[0]}")
88

99
if [ "${AUDITWHEEL_POLICY:0:10}" == "musllinux_" ]; then
10-
EXPECTED_PYTHON_COUNT=7
11-
EXPECTED_PYTHON_COUNT_ALL=7
10+
EXPECTED_PYTHON_COUNT=9
11+
EXPECTED_PYTHON_COUNT_ALL=9
1212
else
1313
if [ "${AUDITWHEEL_ARCH}" == "x86_64" ] || [ "${AUDITWHEEL_ARCH}" == "aarch64" ]; then
14-
EXPECTED_PYTHON_COUNT=8
15-
EXPECTED_PYTHON_COUNT_ALL=12
14+
EXPECTED_PYTHON_COUNT=10
15+
EXPECTED_PYTHON_COUNT_ALL=14
1616
elif [ "${AUDITWHEEL_ARCH}" == "i686" ]; then
17-
EXPECTED_PYTHON_COUNT=8
18-
EXPECTED_PYTHON_COUNT_ALL=10
17+
EXPECTED_PYTHON_COUNT=10
18+
EXPECTED_PYTHON_COUNT_ALL=12
1919
else
20-
EXPECTED_PYTHON_COUNT=7
21-
EXPECTED_PYTHON_COUNT_ALL=7
20+
EXPECTED_PYTHON_COUNT=9
21+
EXPECTED_PYTHON_COUNT_ALL=9
2222
fi
2323
fi
2424

noxfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def update_python_dependencies(session):
1919
# regenerate the constraints files
2020
env["UV_CUSTOM_COMPILE_COMMAND"] = f"nox -s {session.name}"
2121

22-
for python_minor in range(9, 15):
22+
for python_minor in range(9, 16):
2323
python_version = f"3.{python_minor}"
2424
session.run(
2525
"uv",

0 commit comments

Comments
 (0)