From aa6e38cd32a26d3c8d3bf5a6262e482ee6787ebb Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Fri, 6 Mar 2026 14:18:28 -0500 Subject: [PATCH 1/3] chore: drop Python 3.11 support Drops Python 3.11 from CI matrix, pypi-release workflow, setup.py classifiers, Dockerfile default, and README supported versions. Part of https://github.com/openedx/public-engineering/issues/499 --- .github/workflows/ci.yml | 2 +- .github/workflows/pypi-release.yml | 2 +- Dockerfile | 6 ++---- README.rst | 1 - setup.py | 1 - 5 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e6684b6..b10bf99f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - python_version: ['3.11', '3.12'] + python_version: ['3.12'] ubuntu_version: ['22.04', '24.04'] tox_env: [ "django42", "django52"] include: diff --git a/.github/workflows/pypi-release.yml b/.github/workflows/pypi-release.yml index 3bbc16a9..2ee77094 100644 --- a/.github/workflows/pypi-release.yml +++ b/.github/workflows/pypi-release.yml @@ -15,7 +15,7 @@ jobs: - name: setup python uses: actions/setup-python@v6 with: - python-version: 3.11 + python-version: 3.12 - name: Install pip run: pip install pip diff --git a/Dockerfile b/Dockerfile index adb15bca..33e87197 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ ARG ubuntu_version="24.04" FROM ubuntu:${ubuntu_version} SHELL ["/bin/bash", "-c"] -ARG python_version="3.11" +ARG python_version="3.12" # Install Codejail Packages ENV TZ=Etc/UTC @@ -16,9 +16,7 @@ RUN apt-get update && apt-get install -y software-properties-common RUN add-apt-repository -y ppa:deadsnakes/ppa && apt-get update && apt-get upgrade -y # --------------------------------------------------------------------------- # - The "distutils" module was removed in Python 3.12 (PEP 632). -# - To ensure virtualenv creation still works, we now prefer python3-venv instead. -# - Older Python versions (e.g., 3.11) still support distutils, so we keep the -# fallback to install python3-distutils if needed. +# - To ensure virtualenv creation still works, we use python3-venv instead. # --------------------------------------------------------------------------- RUN apt-get install -y vim python${python_version} python${python_version}-dev python${python_version}-venv || \ apt-get install -y vim python${python_version} python${python_version}-dev python3-distutils diff --git a/README.rst b/README.rst index 21d2b95b..fd8e3525 100644 --- a/README.rst +++ b/README.rst @@ -43,7 +43,6 @@ This library currently is tested to work with the following versions Python: -* 3.11 * 3.12 Ubuntu: diff --git a/setup.py b/setup.py index 3b39e292..346c8ee5 100644 --- a/setup.py +++ b/setup.py @@ -51,7 +51,6 @@ def get_version(*file_paths): "Intended Audience :: Developers", 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', ], ) From d5f1e1cd4a14858d6a1e4ace61dc808efea51887 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Fri, 6 Mar 2026 14:19:37 -0500 Subject: [PATCH 2/3] chore: update requirements for Python 3.12 Regenerated all pinned requirements files using Python 3.12. --- requirements/development.txt | 6 +++--- requirements/pip_tools.txt | 2 +- requirements/sandbox.txt | 2 +- requirements/testing.txt | 4 ++-- requirements/tox.txt | 9 +++++---- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/requirements/development.txt b/requirements/development.txt index ff1b8cd4..ccdbef79 100644 --- a/requirements/development.txt +++ b/requirements/development.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -7,12 +7,12 @@ asgiref==3.11.1 # via -r requirements/testing.txt, django astroid==4.0.4 # via -r requirements/testing.txt, pylint dill==0.4.1 # via -r requirements/testing.txt, pylint -django==5.2.11 # via -c requirements/common_constraints.txt, -r requirements/testing.txt +django==5.2.12 # via -c requirements/common_constraints.txt, -r requirements/testing.txt iniconfig==2.3.0 # via -r requirements/testing.txt, pytest isort==8.0.1 # via -r requirements/testing.txt, pylint mccabe==0.7.0 # via -r requirements/testing.txt, pylint packaging==26.0 # via -r requirements/testing.txt, pytest -platformdirs==4.9.2 # via -r requirements/testing.txt, pylint +platformdirs==4.9.4 # via -r requirements/testing.txt, pylint pluggy==1.6.0 # via -r requirements/testing.txt, pytest pycodestyle==2.14.0 # via -r requirements/testing.txt pygments==2.19.2 # via -r requirements/testing.txt, pytest diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 50bc55c4..28772075 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade diff --git a/requirements/sandbox.txt b/requirements/sandbox.txt index 93b3a048..e7f935ff 100644 --- a/requirements/sandbox.txt +++ b/requirements/sandbox.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade diff --git a/requirements/testing.txt b/requirements/testing.txt index 9b87736e..0a3cf238 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -11,7 +11,7 @@ iniconfig==2.3.0 # via pytest isort==8.0.1 # via -r requirements/testing.in, pylint mccabe==0.7.0 # via pylint packaging==26.0 # via pytest -platformdirs==4.9.2 # via pylint +platformdirs==4.9.4 # via pylint pluggy==1.6.0 # via pytest pycodestyle==2.14.0 # via -r requirements/testing.in pygments==2.19.2 # via pytest diff --git a/requirements/tox.txt b/requirements/tox.txt index d254d90c..916ec9cc 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -1,17 +1,18 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -cachetools==7.0.1 # via tox +cachetools==7.0.3 # via tox colorama==0.4.6 # via tox distlib==0.4.0 # via virtualenv filelock==3.25.0 # via python-discovery, tox, virtualenv packaging==26.0 # via pyproject-api, tox -platformdirs==4.9.2 # via python-discovery, tox, virtualenv +platformdirs==4.9.4 # via python-discovery, tox, virtualenv pluggy==1.6.0 # via tox pyproject-api==1.10.0 # via tox python-discovery==1.1.0 # via virtualenv -tox==4.47.0 # via -r requirements/tox.in +tomli-w==1.2.0 # via tox +tox==4.48.1 # via -r requirements/tox.in virtualenv==21.1.0 # via tox From 729c596090a061637a348bcea9347f12e58e1bcf Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Fri, 6 Mar 2026 14:19:42 -0500 Subject: [PATCH 3/3] chore: bump version to 4.1.1 --- codejail/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codejail/__init__.py b/codejail/__init__.py index 1f211cc2..ceda2ac4 100644 --- a/codejail/__init__.py +++ b/codejail/__init__.py @@ -1,3 +1,3 @@ """init""" -__version__ = '4.1.0' +__version__ = '4.1.1'