From 7468dcfec84c2a1c4aea8006b8272c81fb076ffc Mon Sep 17 00:00:00 2001 From: Lily Acadia Gilbert Date: Mon, 18 Nov 2024 10:17:32 -0700 Subject: [PATCH] Drop support for python 3.7 and 3.8, add 3.13 Python 3.7 and 3.8 have reached their end of life, and support for them has been dropped by upstream libraries we rely on. --- .github/workflows/type_check.yml | 2 +- .github/workflows/unit_tests.yml | 2 +- .pre-commit-config.yaml | 2 +- flask_jwt_extended/typing.py | 7 +------ setup.py | 3 +-- tox.ini | 2 +- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/.github/workflows/type_check.yml b/.github/workflows/type_check.yml index 40ba1f27..11b21ad5 100644 --- a/.github/workflows/type_check.yml +++ b/.github/workflows/type_check.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python: [3.7, 3.8, 3.9, '3.10'] + python: [3.9, '3.10', '3.11', '3.12', '3.13'] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index a692ee1a..a69070aa 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', 'pypy3.9'] + python: [3.9, '3.10', '3.11', '3.12', '3.13', 'pypy3.9'] steps: - uses: actions/checkout@v3 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 10f044bb..39245155 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,7 +10,7 @@ repos: hooks: - id: black - repo: https://github.com/PyCQA/flake8 - rev: 4.0.1 + rev: 7.1.1 hooks: - id: flake8 additional_dependencies: [flake8-bugbear] diff --git a/flask_jwt_extended/typing.py b/flask_jwt_extended/typing.py index 36e15fa8..cc36d7bf 100644 --- a/flask_jwt_extended/typing.py +++ b/flask_jwt_extended/typing.py @@ -1,11 +1,6 @@ -import sys from datetime import timedelta +from typing import Literal from typing import Union -if sys.version_info >= (3, 8): - from typing import Literal # pragma: no cover -else: - from typing_extensions import Literal # pragma: no cover - ExpiresDelta = Union[Literal[False], timedelta] Fresh = Union[bool, float, timedelta] diff --git a/setup.py b/setup.py index 737e7311..512df443 100644 --- a/setup.py +++ b/setup.py @@ -32,10 +32,9 @@ "Werkzeug>=0.14", # Needed for SameSite cookie functionality "Flask>=2.0,<4.0", "PyJWT>=2.0,<3.0", - "typing_extensions>=3.7.4; python_version<'3.8'", # typing.Literal ], extras_require={"asymmetric_crypto": ["cryptography>=3.3.1"]}, - python_requires=">=3.7,<4", + python_requires=">=3.9,<4", classifiers=[ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", diff --git a/tox.ini b/tox.ini index 843b0c11..5185d1e5 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py37,py38,py39,py310,py311,py312,pypy3.9,flask21,flask2x,mypy,coverage,style,docs +envlist = py39,py310,py311,py312,py313,pypy3.9,flask21,flask2x,mypy,coverage,style,docs [testenv] commands =