diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 57ffd2f..17c032f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,14 +12,14 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: - python-version: 3.8 + python-version: "3.9" - name: Install pypa/build run: python3 -m pip install build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c898e23..9d1c941 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,10 +14,10 @@ jobs: outputs: envlist: ${{ steps.generate-tox-envlist.outputs.envlist }} steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v5 + - uses: actions/setup-python@v6 with: - python-version: 3.12 + python-version: "3.13" cache: pip - run: pip install tox tox-gh-matrix - id: generate-tox-envlist @@ -47,9 +47,9 @@ jobs: # Maps port 6379 on service container to the host - 6379:6379 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Setup Python ${{ matrix.tox.python.version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.tox.python.spec }} cache: pip diff --git a/pyproject.toml b/pyproject.toml index a6e9fd1..bdec2d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,8 @@ ignore = [ "PT011", # FIXME: parenthesize-chained-operators "RUF021", + # FIXME: unused-unpacked-variable + "RUF059", ] [tool.ruff.lint.isort] diff --git a/setup.py b/setup.py index 5be4bae..fd07fc9 100644 --- a/setup.py +++ b/setup.py @@ -27,10 +27,9 @@ def read(*parts): "Development Status :: 5 - Production/Stable", "Environment :: Web Environment :: Mozilla", "Framework :: Django", - "Framework :: Django :: 3.2", "Framework :: Django :: 4.2", - "Framework :: Django :: 5.1", "Framework :: Django :: 5.2", + "Framework :: Django :: 6.0", "Framework :: Flask", "Framework :: FastAPI", "Intended Audience :: Developers", @@ -38,7 +37,6 @@ def read(*parts): "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", @@ -53,5 +51,5 @@ def read(*parts): "fastapi": ["fastapi", "asgiref"], }, zip_safe=False, - python_requires=">=3.8,<4", + python_requires=">=3.9,<4", ) diff --git a/tests/constraints/django-3.2.txt b/tests/constraints/django-3.2.txt deleted file mode 100644 index 807ac90..0000000 --- a/tests/constraints/django-3.2.txt +++ /dev/null @@ -1 +0,0 @@ -Django>=3.2,<4.0 diff --git a/tests/constraints/django-5.1.txt b/tests/constraints/django-5.1.txt deleted file mode 100644 index 0763f4c..0000000 --- a/tests/constraints/django-5.1.txt +++ /dev/null @@ -1 +0,0 @@ -Django>=5.1,<5.2 diff --git a/tests/constraints/django-6.0.txt b/tests/constraints/django-6.0.txt new file mode 100644 index 0000000..f1a4a72 --- /dev/null +++ b/tests/constraints/django-6.0.txt @@ -0,0 +1 @@ +Django>=6.0rc1,<6.1 diff --git a/tests/requirements/fastapi.txt b/tests/requirements/fastapi.txt index 18476e7..337e93c 100644 --- a/tests/requirements/fastapi.txt +++ b/tests/requirements/fastapi.txt @@ -1,3 +1,3 @@ fastapi asgiref -httpx \ No newline at end of file +httpx<1 diff --git a/tests/requirements/sanic.txt b/tests/requirements/sanic.txt index 339801b..1def9f9 100644 --- a/tests/requirements/sanic.txt +++ b/tests/requirements/sanic.txt @@ -3,6 +3,6 @@ aiohttp Sanic sanic_redis -sanic-testing +sanic-testing<23.6 uvloop>=0.14.0rc1 -setuptools \ No newline at end of file +setuptools diff --git a/tox.ini b/tox.ini index a8a066c..a232a29 100644 --- a/tox.ini +++ b/tox.ini @@ -2,16 +2,16 @@ usedevelop = True minversion = 1.8 envlist = - py38-lint + py39-lint py311-docs - py{38,39,310}-dj32 - py{38,39,310,311,312}-dj42 - py{310,311,312,313}-dj{51,52} - py{38,39,310,311,312,313}-fa100 - py{38,39,310,311}-fl{20,21,22} - py{38,39,310,311,312}-fl{23,30} - py{38,39,310,311}-s{21,22} - py{38,39,310,311,312,313}-s23 + py{39,310,311,312}-dj42 + py{310,311,312,313}-dj52 + py{312,313}-dj60 + py{39,310,311,312,313}-fa100 + py{39,310,311}-fl{20,21,22} + py{39,310,311,312}-fl{23,30} + py{39,310,311}-s{21,22} + py{39,310,311,312,313}-s23 [testenv] usedevelop = true @@ -21,14 +21,13 @@ setenv = PYTHONPATH = {toxinidir} deps = -rtests/requirements/default.txt - dj{32,42,51,52}: -rtests/requirements/django.txt + dj{42,52,60}: -rtests/requirements/django.txt fa100: -rtests/requirements/fastapi.txt fl{20,21,22,23,30}: -rtests/requirements/flask.txt s{21,22,23}: -rtests/requirements/sanic.txt - dj32: -ctests/constraints/django-3.2.txt dj42: -ctests/constraints/django-4.2.txt - dj51: -ctests/constraints/django-5.1.txt dj52: -ctests/constraints/django-5.2.txt + dj60: -ctests/constraints/django-6.0.txt fa100: -ctests/constraints/fastapi-0.100.txt fl20: -ctests/constraints/flask-2.0.txt fl21: -ctests/constraints/flask-2.1.txt @@ -40,7 +39,7 @@ deps = s23: -ctests/constraints/sanic-23.txt commands = python --version - dj{32,42,51,52}: pytest --no-migrations -o DJANGO_SETTINGS_MODULE=tests.django.settings -o django_find_project=false {posargs:tests/core/ tests/django} + dj{42,52,60}: pytest --no-migrations -o DJANGO_SETTINGS_MODULE=tests.django.settings -o django_find_project=false {posargs:tests/core/ tests/django} fa{100}: pytest {posargs: tests/core/ tests/fastapi/} fl{20,21,22,23,30}: pytest {posargs:tests/core/ tests/flask/} s{21,22,23}: pytest {posargs:tests/core/ tests/sanic/} @@ -51,8 +50,8 @@ deps = -rdocs/requirements.txt commands = sphinx-build -b html -d {envtmpdir}/doctrees docs {envtmpdir}/html pip_pre = false -[testenv:py38-lint] -basepython = python3.8 +[testenv:py39-lint] +basepython = python3.9 deps = -rtests/requirements/lint.txt commands = ruff check src/ tests/