diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b7011d..312dbdd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,45 +16,31 @@ jobs: fail-fast: false matrix: python-version: - - '3.7' - - '3.8' - - '3.9' - '3.10' - '3.11' + - '3.12' + - '3.13' + - '3.14' django: - - '3.2' - - '4.0' - - '4.1' - '4.2' - - '5.0' + - '5.2' + - '6.0' - 'main' exclude: - - python-version: '3.7' - django: '4.0' - - python-version: '3.7' - django: '4.1' - - python-version: '3.7' - django: '4.2' - - python-version: '3.7' - django: '5.0' - - python-version: '3.7' + - python-version: '3.10' + django: '6.0' + - python-version: '3.10' django: 'main' - - python-version: '3.8' - django: '5.0' - - python-version: '3.9' - django: '5.0' - python-version: '3.11' - django: '3.2' + django: 'main' - python-version: '3.11' - django: '4.0' - - python-version: '3.12' - django: '3.2' - - python-version: '3.12' - django: '4.0' - - python-version: '3.12' - django: '4.1' + django: '6.0' - python-version: '3.12' django: '4.2' + - python-version: '3.13' + django: '4.2' + - python-version: '3.14' + django: '4.2' steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8ffdfdb..a5377d0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,45 +12,31 @@ jobs: fail-fast: true matrix: python-version: - - '3.7' - - '3.8' - - '3.9' - '3.10' - '3.11' + - '3.12' + - '3.13' + - '3.14' django: - - '3.2' - - '4.0' - - '4.1' - '4.2' - - '5.0' + - '5.2' + - '6.0' - 'main' exclude: - - python-version: '3.7' - django: '4.0' - - python-version: '3.7' - django: '4.1' - - python-version: '3.7' - django: '4.2' - - python-version: '3.7' - django: '5.0' - - python-version: '3.7' + - python-version: '3.10' + django: '6.0' + - python-version: '3.10' django: 'main' - - python-version: '3.8' - django: '5.0' - - python-version: '3.9' - django: '5.0' - python-version: '3.11' - django: '3.2' + django: 'main' - python-version: '3.11' - django: '4.0' - - python-version: '3.12' - django: '3.2' - - python-version: '3.12' - django: '4.0' - - python-version: '3.12' - django: '4.1' + django: '6.0' - python-version: '3.12' django: '4.2' + - python-version: '3.13' + django: '4.2' + - python-version: '3.14' + django: '4.2' steps: - uses: actions/checkout@v4 diff --git a/pyproject.toml b/pyproject.toml index ba4f103..99bf102 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "django-ratelimit" version = "4.1.0" authors = [{name = "James Socol", email = "me@jamessocol.com"}] -requires-python = ">= 3.7" +requires-python = ">= 3.10" license = {file = "LICENSE"} description = "Cache-based rate-limiting for Django." readme = "README.rst" @@ -18,11 +18,11 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Framework :: Django", "Topic :: Software Development :: Libraries :: Python Modules", ] diff --git a/test_settings.py b/test_settings.py index 0245d39..74c8026 100644 --- a/test_settings.py +++ b/test_settings.py @@ -15,11 +15,11 @@ }, 'connection-errors': { 'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache', - 'LOCATION': 'test-connection-errors', + 'LOCATION': 'test-connection-errors.invalid', }, 'connection-errors-redis': { 'BACKEND': 'django_redis.cache.RedisCache', - 'LOCATION': 'redis://test-connection-errors', + 'LOCATION': 'redis://test-connection-errors.invalid', 'OPTIONS': { 'IGNORE_EXCEPTIONS': True, } diff --git a/tox.ini b/tox.ini index 636583e..a0de1d5 100644 --- a/tox.ini +++ b/tox.ini @@ -1,21 +1,16 @@ [tox] envlist = - py37-django32, - py38-django{32,40,41,42,main}, - py39-django{32,40,41,42,main}, - py310-django{32,40,41,42,50,main}, - py311-django{41,42,50,main}, - py312-django{50,main}, - pypy39-django{32,40,41,main}, + py310-django{42,52}, + py311-django{42,52}, + py312-django{42,52,60,main}, + py313-django{52,60,main}, + py314-django{52,60,main}, [testenv] -allowlist_externals = ./run.sh deps = - django32: Django>=3.2,<3.3 - django40: Django>=4.0,<4.1 - django41: Django>=4.1,<4.2 - django42: Django>=4.2,<4.3 - django50: Django>=5.0a1,<5.1 + django42: Django>=4.2.8,<4.3 + django52: Django>=5.2.8,<5.3 + django60: Django>=6.0,<6.1 djangomain: https://github.com/django/django/archive/main.tar.gz pymemcache>=4.0,<5.0 django-redis>=5.2,<6.0