From 00b66d9af5b435426f75c7a4427b695e5e05d243 Mon Sep 17 00:00:00 2001 From: Viicos <65306057+Viicos@users.noreply.github.com> Date: Wed, 28 Jan 2026 18:04:03 +0100 Subject: [PATCH 1/2] Add support for Python 3.13 --- .github/workflows/ci.yml | 2 +- pyproject.toml | 1 + requirements/docs.txt | 12 ++++++++---- requirements/linting.txt | 8 +++++--- requirements/pyproject.txt | 14 +++++++++++--- requirements/testing.txt | 18 +++++++++++------- 6 files changed, 37 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9f9a9958..4068eafb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: fail-fast: false matrix: os: [ubuntu] - python: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] redis: ['5'] include: - python: '3.11' diff --git a/pyproject.toml b/pyproject.toml index cc7b10fc..c599921b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ classifiers = [ 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Topic :: Internet', 'Topic :: Software Development :: Libraries :: Python Modules', 'Topic :: System :: Clustering', diff --git a/requirements/docs.txt b/requirements/docs.txt index f8b0de2b..35cf7ed5 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.9 # by the following command: # # pip-compile --output-file=requirements/docs.txt --strip-extras requirements/docs.in @@ -18,9 +18,11 @@ idna==3.7 # via requests imagesize==1.4.1 # via sphinx -jinja2==3.1.4 +importlib-metadata==8.7.1 # via sphinx -markupsafe==2.1.5 +jinja2==3.1.6 + # via sphinx +markupsafe==3.0.3 # via jinja2 packaging==24.0 # via sphinx @@ -31,7 +33,7 @@ requests==2.32.3 snowballstemmer==2.2.0 # via sphinx sphinx==5.3.0 - # via -r docs.in + # via -r requirements/docs.in sphinxcontrib-applehelp==1.0.8 # via sphinx sphinxcontrib-devhelp==1.0.6 @@ -46,3 +48,5 @@ sphinxcontrib-serializinghtml==1.1.10 # via sphinx urllib3==2.2.2 # via requests +zipp==3.23.0 + # via importlib-metadata diff --git a/requirements/linting.txt b/requirements/linting.txt index 873ee0c1..853bbc79 100644 --- a/requirements/linting.txt +++ b/requirements/linting.txt @@ -1,10 +1,10 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.9 # by the following command: # # pip-compile --output-file=requirements/linting.txt --strip-extras requirements/linting.in # -cffi==1.16.0 +cffi==2.0.0 # via cryptography cryptography==42.0.5 # via @@ -18,11 +18,13 @@ pycparser==2.22 # via cffi ruff==0.3.4 # via -r requirements/linting.in +tomli==2.4.0 + # via mypy types-pyopenssl==24.0.0.20240311 # via types-redis types-pytz==2024.1.0.20240203 # via -r requirements/linting.in types-redis==4.6.0.20240311 # via -r requirements/linting.in -typing-extensions==4.10.0 +typing-extensions==4.15.0 # via mypy diff --git a/requirements/pyproject.txt b/requirements/pyproject.txt index 041adfac..8a1c299d 100644 --- a/requirements/pyproject.txt +++ b/requirements/pyproject.txt @@ -1,14 +1,18 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.9 # by the following command: # # pip-compile --all-extras --output-file=requirements/pyproject.txt --strip-extras pyproject.toml # anyio==4.3.0 # via watchfiles +async-timeout==5.0.1 + # via redis click==8.1.7 # via arq (pyproject.toml) -hiredis==2.3.2 +exceptiongroup==1.3.1 + # via anyio +hiredis==3.1.0 # via redis idna==3.7 # via anyio @@ -16,5 +20,9 @@ redis==4.6.0 # via arq (pyproject.toml) sniffio==1.3.1 # via anyio -watchfiles==0.21.0 +typing-extensions==4.15.0 + # via + # anyio + # exceptiongroup +watchfiles==0.23.0 # via arq (pyproject.toml) diff --git a/requirements/testing.txt b/requirements/testing.txt index 87461fd6..7e15cbf3 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -10,7 +10,7 @@ certifi==2024.7.4 # via requests charset-normalizer==3.3.2 # via requests -coverage==7.4.4 +coverage==7.10.7 # via -r requirements/testing.in deprecation==2.1.0 # via testcontainers @@ -18,7 +18,7 @@ dirty-equals==0.7.1.post0 # via -r requirements/testing.in docker==7.1.0 # via testcontainers -exceptiongroup==1.2.2 +exceptiongroup==1.3.1 # via pytest idna==3.7 # via requests @@ -28,7 +28,7 @@ markdown-it-py==3.0.0 # via rich mdurl==0.1.2 # via markdown-it-py -msgpack==1.0.8 +msgpack==1.1.2 # via -r requirements/testing.in packaging==24.0 # via @@ -36,9 +36,9 @@ packaging==24.0 # pytest pluggy==1.4.0 # via pytest -pydantic==2.6.4 +pydantic==2.12.5 # via -r requirements/testing.in -pydantic-core==2.16.3 +pydantic-core==2.41.5 # via pydantic pygments==2.17.2 # via rich @@ -67,14 +67,18 @@ rich==13.7.1 # via pytest-pretty testcontainers==3.7.1 # via -r requirements/testing.in -tomli==2.0.1 +tomli==2.4.0 # via # coverage # pytest -typing-extensions==4.10.0 +typing-extensions==4.15.0 # via + # exceptiongroup # pydantic # pydantic-core + # typing-inspection +typing-inspection==0.4.2 + # via pydantic urllib3==2.2.2 # via # docker From 6d1a3233d0908212fffbff944562c766a591aa73 Mon Sep 17 00:00:00 2001 From: Viicos <65306057+Viicos@users.noreply.github.com> Date: Wed, 28 Jan 2026 18:06:01 +0100 Subject: [PATCH 2/2] Remove advertised support for Python 3.8 --- .github/workflows/ci.yml | 2 +- pyproject.toml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4068eafb..874c27e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,7 +54,7 @@ jobs: fail-fast: false matrix: os: [ubuntu] - python: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13'] + python: ['3.9', '3.10', '3.11', '3.12', '3.13'] redis: ['5'] include: - python: '3.11' diff --git a/pyproject.toml b/pyproject.toml index c599921b..188d3fff 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -24,7 +24,6 @@ classifiers = [ 'Programming Language :: Python', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11',