Skip to content

Commit 380f08a

Browse files
committed
Drop CPython 3.7 & PyPy 3.7
1 parent aec133a commit 380f08a

File tree

8 files changed

+19
-87
lines changed

8 files changed

+19
-87
lines changed

README.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -268,12 +268,12 @@ Image content
268268

269269
All supported images currently contain:
270270

271-
- CPython 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t and PyPy 3.7, 3.8, 3.9, 3.10 installed in
271+
- CPython 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t and PyPy 3.8, 3.9, 3.10 installed in
272272
``/opt/python/<python tag>-<abi tag>``. The directories are named
273273
after the PEP 425 tags for each environment --
274-
e.g. ``/opt/python/cp37-cp37m`` contains a CPython 3.7 build, and
274+
e.g. ``/opt/python/cp313-cp313`` contains a CPython 3.13 build, and
275275
can be used to produce wheels named like
276-
``<pkg>-<version>-cp37-cp37m-<arch>.whl``.
276+
``<pkg>-<version>-cp313-cp313-<arch>.whl``.
277277

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

docker/Dockerfile

+4-11
Original file line numberDiff line numberDiff line change
@@ -109,24 +109,18 @@ RUN export MPDECIMAL_ROOT=mpdecimal-4.0.0 && \
109109

110110
FROM --platform=${BUILDPLATFORM} ghcr.io/sigstore/cosign/cosign:v2.4.2 AS cosign-bin
111111

112-
FROM build_base AS build_cpython_system_ssl
112+
FROM build_base AS build_cpython
113113
COPY --from=build_tcl_tk /manylinux-buildfs /
114114
COPY --from=build_mpdecimal /manylinux-buildfs /
115115
COPY --from=build_sqlite3 /manylinux-buildfs /
116-
COPY build_scripts/build-cpython.sh /build_scripts/
117116
RUN if command -v apk >/dev/null 2>&1; then ldconfig /; else ldconfig; fi
118-
COPY --from=cosign-bin /ko-app/cosign /usr/local/bin/cosign
119-
120-
FROM build_cpython_system_ssl AS build_cpython
121117
COPY build_scripts/build-openssl.sh /build_scripts/
122118
RUN export OPENSSL_ROOT=openssl-3.0.16 && \
123119
export OPENSSL_HASH=57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86 && \
124120
export OPENSSL_DOWNLOAD_URL=https://github.com/openssl/openssl/releases/download/${OPENSSL_ROOT} && \
125121
manylinux-entrypoint /build_scripts/build-openssl.sh
126-
127-
128-
FROM build_cpython_system_ssl AS build_cpython37
129-
RUN manylinux-entrypoint /build_scripts/build-cpython.sh [email protected] https://github.com/login/oauth 3.7.17
122+
COPY --from=cosign-bin /ko-app/cosign /usr/local/bin/cosign
123+
COPY build_scripts/build-cpython.sh /build_scripts/
130124

131125
FROM build_cpython AS build_cpython38
132126
RUN manylinux-entrypoint /build_scripts/build-cpython.sh [email protected] https://github.com/login/oauth 3.8.20
@@ -156,8 +150,7 @@ COPY --from=build_mpdecimal /manylinux-rootfs /
156150
COPY --from=build_sqlite3 /manylinux-rootfs /
157151
COPY --from=build_git /manylinux-rootfs /
158152
COPY build_scripts /opt/_internal/build_scripts/
159-
RUN --mount=type=bind,target=/build_cpython37,from=build_cpython37 \
160-
--mount=type=bind,target=/build_cpython38,from=build_cpython38 \
153+
RUN --mount=type=bind,target=/build_cpython38,from=build_cpython38 \
161154
--mount=type=bind,target=/build_cpython39,from=build_cpython39 \
162155
--mount=type=bind,target=/build_cpython310,from=build_cpython310 \
163156
--mount=type=bind,target=/build_cpython311,from=build_cpython311 \

docker/build_scripts/build-cpython.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ fi
5757
SQLITE_PREFIX=$(find /opt/_internal -maxdepth 1 -name 'sqlite*')
5858
if [ "${SQLITE_PREFIX}" != "" ]; then
5959
case "${CPYTHON_VERSION}" in
60-
3.7.*|3.8.*|3.9.*|3.10.*) sed -i "s|/usr/local/include/sqlite3|/opt/_internal/sqlite3/include|g ; s|sqlite_extra_link_args = ()|sqlite_extra_link_args = ('-Wl,--enable-new-dtags,-rpath=/opt/_internal/sqlite3/lib',)|g" setup.py;;
60+
3.8.*|3.9.*|3.10.*) sed -i "s|/usr/local/include/sqlite3|/opt/_internal/sqlite3/include|g ; s|sqlite_extra_link_args = ()|sqlite_extra_link_args = ('-Wl,--enable-new-dtags,-rpath=/opt/_internal/sqlite3/lib',)|g" setup.py;;
6161
*) ;;
6262
esac
6363
fi

docker/build_scripts/python_versions.json

-17
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,6 @@
1111
"sha256": "5ad46ba7ef58f2b3871cb99aa244ef9bf6e6e4206770e027603e3c323ba3e67b"
1212
}
1313
},
14-
"pp37-pypy37_pp73": {
15-
"x86_64": {
16-
"version": "7.3.9",
17-
"download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.9-linux64.tar.bz2",
18-
"sha256": "c58195124d807ecc527499ee19bc511ed753f4f2e418203ca51bc7e3b124d5d1"
19-
},
20-
"aarch64": {
21-
"version": "7.3.9",
22-
"download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.9-aarch64.tar.bz2",
23-
"sha256": "dfc62f2c453fb851d10a1879c6e75c31ffebbf2a44d181bb06fcac4750d023fc"
24-
},
25-
"i686": {
26-
"version": "7.3.9",
27-
"download_url": "https://downloads.python.org/pypy/pypy3.7-v7.3.9-linux32.tar.bz2",
28-
"sha256": "3398cece0167b81baa219c9cd54a549443d8c0a6b553ec8ec13236281e0d86cd"
29-
}
30-
},
3114
"pp38-pypy38_pp73": {
3215
"x86_64": {
3316
"version": "7.3.11",

docker/build_scripts/requirements3.7.txt

-44
This file was deleted.

noxfile.py

+1-1
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(7, 14):
22+
for python_minor in range(8, 14):
2323
python_version = f"3.{python_minor}"
2424
session.run(
2525
"uv",

tests/forty-two/setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
setup(
44
name="forty_two",
55
version="0.1.0",
6-
python_requires=">=3.7",
6+
python_requires=">=3.8",
77
ext_modules=[Extension("forty_two", sources=["forty-two.c"])],
88
)

tests/run_tests.sh

+9-9
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=8
11-
EXPECTED_PYTHON_COUNT_ALL=8
10+
EXPECTED_PYTHON_COUNT=7
11+
EXPECTED_PYTHON_COUNT_ALL=7
1212
else
1313
if [ "${AUDITWHEEL_ARCH}" == "x86_64" ] || [ "${AUDITWHEEL_ARCH}" == "aarch64" ]; then
14-
EXPECTED_PYTHON_COUNT=10
15-
EXPECTED_PYTHON_COUNT_ALL=14
14+
EXPECTED_PYTHON_COUNT=9
15+
EXPECTED_PYTHON_COUNT_ALL=12
1616
elif [ "${AUDITWHEEL_ARCH}" == "i686" ]; then
17-
EXPECTED_PYTHON_COUNT=10
18-
EXPECTED_PYTHON_COUNT_ALL=13
17+
EXPECTED_PYTHON_COUNT=9
18+
EXPECTED_PYTHON_COUNT_ALL=11
1919
else
20-
EXPECTED_PYTHON_COUNT=8
21-
EXPECTED_PYTHON_COUNT_ALL=8
20+
EXPECTED_PYTHON_COUNT=7
21+
EXPECTED_PYTHON_COUNT_ALL=7
2222
fi
2323
fi
2424

@@ -97,7 +97,7 @@ for PYTHON in /opt/python/*/bin/python; do
9797
echo "invalid answer, expecting 42"
9898
exit 1
9999
fi
100-
if [ "${PYVERS}" != "3.7" ] && [ "${IMPLEMENTATION}" != "graalpy" ] && [ "${AUDITWHEEL_POLICY:0:9}_${AUDITWHEEL_ARCH}" != "musllinux_ppc64le" ] && [ "${AUDITWHEEL_POLICY:0:9}_${AUDITWHEEL_ARCH}" != "musllinux_s390x" ] && [ "${AUDITWHEEL_ARCH}" != "riscv64" ]; then
100+
if [ "${IMPLEMENTATION}" != "graalpy" ] && [ "${AUDITWHEEL_POLICY:0:9}_${AUDITWHEEL_ARCH}" != "musllinux_ppc64le" ] && [ "${AUDITWHEEL_POLICY:0:9}_${AUDITWHEEL_ARCH}" != "musllinux_s390x" ] && [ "${AUDITWHEEL_ARCH}" != "riscv64" ]; then
101101
# no uv on musllinux ppc64le / s390x
102102
UV_PYTHON=/tmp/uv-test-${IMPLEMENTATION}${PYVERS}/bin/python
103103
uv venv --python "${PYTHON}" "/tmp/uv-test-${IMPLEMENTATION}${PYVERS}"

0 commit comments

Comments
 (0)