From d85a0090f3354b4c0c60d1040d38a2f609ff21da Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Mon, 2 Oct 2023 15:59:54 +0100 Subject: [PATCH 1/6] Use 3.12.0 over 3.12.0rc2 for 3.12 support --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 14e23f03..4e6e0a59 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,8 +38,8 @@ RUN git clone -b v2.3.26 --depth 1 https://github.com/pyenv/pyenv.git $PYENV_ROO # ------------------------------------------------------------------------------ FROM builder-py-base as builder-py-3_12 -RUN git clone -b v2.3.26 --depth 1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \ - && /build_python.sh 3.12.0rc2 +RUN git clone -b v2.3.28 --depth 1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \ + && /build_python.sh 3.12.0 # ------------------------------------------------------------------------------ FROM python:3.11-slim-bookworm as base From a218ccc0240eb3d5154c0a8911932f1957b257be Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Mon, 2 Oct 2023 16:00:23 +0100 Subject: [PATCH 2/6] Use 3.12.0 by default --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4e6e0a59..82d2d420 100644 --- a/Dockerfile +++ b/Dockerfile @@ -60,7 +60,7 @@ COPY --link --from=builder-py-3_11 /lang/ /lang/ COPY --link --from=builder-py-3_12 /lang/ /lang/ RUN chmod +x /usr/sbin/nsjail \ - && ln -s /lang/python/3.11/ /lang/python/default + && ln -s /lang/python/3.12/ /lang/python/default # ------------------------------------------------------------------------------ FROM base as venv From 32bb655a664742f9dd0c30d5d43b1e3096023013 Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Mon, 2 Oct 2023 19:40:32 +0100 Subject: [PATCH 3/6] Replace 3.11 support with 3.13-dev --- Dockerfile | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 82d2d420..c95ef408 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,16 +31,14 @@ RUN apt-get -y update \ COPY --link scripts/build_python.sh / -# ------------------------------------------------------------------------------ -FROM builder-py-base as builder-py-3_11 -RUN git clone -b v2.3.26 --depth 1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \ - && /build_python.sh 3.11.5 - # ------------------------------------------------------------------------------ FROM builder-py-base as builder-py-3_12 RUN git clone -b v2.3.28 --depth 1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \ && /build_python.sh 3.12.0 - +# ------------------------------------------------------------------------------ +FROM builder-py-base as builder-py-3_13 +RUN git clone -b v2.3.28 --depth 1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \ + && /build_python.sh 3.13-dev # ------------------------------------------------------------------------------ FROM python:3.11-slim-bookworm as base @@ -56,8 +54,8 @@ RUN apt-get -y update \ && rm -rf /var/lib/apt/lists/* COPY --link --from=builder-nsjail /nsjail/nsjail /usr/sbin/ -COPY --link --from=builder-py-3_11 /lang/ /lang/ COPY --link --from=builder-py-3_12 /lang/ /lang/ +COPY --link --from=builder-py-3_13 /lang/ /lang/ RUN chmod +x /usr/sbin/nsjail \ && ln -s /lang/python/3.12/ /lang/python/default From b5c7884c5e836eccc6e401a8d06c6d025e9e464f Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Mon, 2 Oct 2023 19:41:07 +0100 Subject: [PATCH 4/6] Update eval-deps markers for new Python versions --- requirements/eval-deps.pip | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/requirements/eval-deps.pip b/requirements/eval-deps.pip index 13038b7a..b66718f0 100644 --- a/requirements/eval-deps.pip +++ b/requirements/eval-deps.pip @@ -2,23 +2,22 @@ anyio[trio]~=3.7 arrow~=1.2 attrs~=23.1 beautifulsoup4~=4.12 -einspect~=0.5 +einspect~=0.5 ; python_version == '3.12' fishhook~=0.2 forbiddenfruit~=0.1 fuzzywuzzy~=0.18 lark~=1.1 -matplotlib~=3.7 ; python_version == '3.11' # https://github.com/matplotlib/matplotlib/pull/26582 +matplotlib~=3.8 ; python_version == '3.12' more-itertools~=10.1 networkx~=3.1 -numpy~=1.25 ; python_version == '3.11' -numpy==1.26.0rc1 ; python_version == '3.12' -pandas~=2.0 ; python_version == '3.11' -pendulum~=2.1 ; python_version == '3.11' # https://github.com/sdispater/pendulum/issues/696 +numpy~=1.26 ; python_version == '3.12' +pandas~=2.1 ; python_version == '3.12' +# pendulum~=2.1 # Doesn't support 3.12, see https://github.com/sdispater/pendulum/issues/696 python-dateutil~=2.8 pyyaml~=6.0 -scipy~=1.11 +scipy~=1.11 ; python_version == '3.12' sympy~=1.12 toml~=0.10 typing-extensions~=4.7 tzdata~=2023.3 -yarl~=1.9 ; python_version == '3.11' # https://github.com/aio-libs/yarl/issues/894 +#yarl~=1.9 # Doesn't support 3.12, see https://github.com/aio-libs/yarl/issues/894 From 3da229c9505be58fe4320da330219887bec4a2b4 Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Mon, 2 Oct 2023 19:42:56 +0100 Subject: [PATCH 5/6] Bump all eval-deps to latest versions --- requirements/eval-deps.pip | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements/eval-deps.pip b/requirements/eval-deps.pip index b66718f0..ccfb44ae 100644 --- a/requirements/eval-deps.pip +++ b/requirements/eval-deps.pip @@ -1,5 +1,5 @@ -anyio[trio]~=3.7 -arrow~=1.2 +anyio[trio]~=4.0 +arrow~=1.3 attrs~=23.1 beautifulsoup4~=4.12 einspect~=0.5 ; python_version == '3.12' @@ -18,6 +18,6 @@ pyyaml~=6.0 scipy~=1.11 ; python_version == '3.12' sympy~=1.12 toml~=0.10 -typing-extensions~=4.7 +typing-extensions~=4.8 tzdata~=2023.3 #yarl~=1.9 # Doesn't support 3.12, see https://github.com/aio-libs/yarl/issues/894 From 08f89a0952412383c7c26a94d0612908c229255d Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Mon, 2 Oct 2023 19:43:16 +0100 Subject: [PATCH 6/6] Remove toml eval-dep as the stdlib now supports it --- requirements/eval-deps.pip | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements/eval-deps.pip b/requirements/eval-deps.pip index ccfb44ae..32607aca 100644 --- a/requirements/eval-deps.pip +++ b/requirements/eval-deps.pip @@ -17,7 +17,6 @@ python-dateutil~=2.8 pyyaml~=6.0 scipy~=1.11 ; python_version == '3.12' sympy~=1.12 -toml~=0.10 typing-extensions~=4.8 tzdata~=2023.3 #yarl~=1.9 # Doesn't support 3.12, see https://github.com/aio-libs/yarl/issues/894