Skip to content

Commit b6b8bce

Browse files
kkirscheKevin Kirsche
and
Kevin Kirsche
authored
Drop support for Python 3.8 (#1007)
* Drop support for Python 3.8 * Add missed .pre-commit-config.yaml * Add changelog fragment --------- Co-authored-by: Kevin Kirsche <[email protected]>
1 parent 189c256 commit b6b8bce

File tree

6 files changed

+16
-18
lines changed

6 files changed

+16
-18
lines changed

.github/workflows/main.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ jobs:
1313
name: "Python ${{ matrix.python-version }} on ${{ matrix.platform }}"
1414
runs-on: "${{ matrix.platform }}"
1515
env:
16-
USING_COVERAGE: '3.8'
16+
USING_COVERAGE: '3.9'
1717

1818
strategy:
1919
fail-fast: false
2020
matrix:
2121
platform: ["ubuntu-latest", "windows-latest"]
22-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "pypy3.8", "pypy3.9"]
22+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "pypy3.9"]
2323

2424
steps:
2525
- uses: "actions/checkout@v4"
@@ -43,7 +43,7 @@ jobs:
4343
# parsing errors in older versions for modern code.
4444
- uses: "actions/setup-python@v5"
4545
with:
46-
python-version: "3.8"
46+
python-version: "3.9"
4747

4848
- name: "Combine coverage"
4949
run: |
@@ -70,7 +70,7 @@ jobs:
7070
- uses: "actions/setup-python@v5"
7171

7272
with:
73-
python-version: "3.8"
73+
python-version: "3.9"
7474

7575
- name: "Install pep517 and twine"
7676
run: "python -m pip install pep517 twine"
@@ -97,7 +97,7 @@ jobs:
9797
- uses: "actions/setup-python@v5"
9898

9999
with:
100-
python-version: "3.8"
100+
python-version: "3.9"
101101

102102
- name: "Install in dev mode"
103103
run: "python -m pip install -e .[dev]"

.pre-commit-config.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ repos:
33
rev: 24.10.0
44
hooks:
55
- id: black
6-
args: ["--target-version=py38"]
6+
args: ["--target-version=py39"]
77

88
- repo: https://github.com/asottile/blacken-docs
99
rev: 1.19.0
1010
hooks:
1111
- id: blacken-docs
12-
args: ["--target-version=py38"]
12+
args: ["--target-version=py39"]
1313

1414
- repo: https://github.com/PyCQA/isort
1515
rev: 5.13.2

CHANGELOG.rst

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ This project adheres to `Semantic Versioning <https://semver.org/>`__.
1010
Changed
1111
~~~~~~~
1212

13+
- Drop support for Python 3.8 (EOL) by @kkirsche in `#1007 <https://github.com/jpadilla/pyjwt/pull/1007>`__
1314
- Use ``Sequence`` for parameter types rather than ``List`` where applicable by @imnotjames in `#970 <https://github.com/jpadilla/pyjwt/pull/970>`__
1415
- Remove algorithm requirement from JWT API, instead relying on JWS API for enforcement, by @luhn in `#975 <https://github.com/jpadilla/pyjwt/pull/975>`__
1516
- Add JWK support to JWT encode by @luhn in `#979 <https://github.com/jpadilla/pyjwt/pull/979>`__

pyproject.toml

+1-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ classifiers = [
1616
"Programming Language :: Python",
1717
"Programming Language :: Python :: 3",
1818
"Programming Language :: Python :: 3 :: Only",
19-
"Programming Language :: Python :: 3.8",
2019
"Programming Language :: Python :: 3.9",
2120
"Programming Language :: Python :: 3.10",
2221
"Programming Language :: Python :: 3.11",
@@ -37,7 +36,7 @@ keywords = [
3736
"web",
3837
]
3938
name = "PyJWT"
40-
requires-python = ">=3.8"
39+
requires-python = ">=3.9"
4140

4241
[project.license]
4342
text = "MIT"

ruff.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ exclude = [
3232
line-length = 88
3333
indent-width = 4
3434

35-
# Assume Python 3.8
36-
target-version = "py38"
35+
# Assume Python 3.9
36+
target-version = "py39"
3737

3838
[lint]
3939
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.

tox.ini

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[flake8]
2-
min_python_version = 3.8
2+
min_python_version = 3.9
33
ignore= E501, E203, W503, E704
44

55
[pytest]
@@ -12,21 +12,19 @@ filterwarnings =
1212

1313
[gh-actions]
1414
python =
15-
3.8: py38, typing
1615
3.9: py39
1716
3.10: py310
1817
3.11: py311, docs
1918
3.12: py312
2019
3.13: py313
21-
pypy3.8: pypy3
2220
pypy3.9: pypy3
2321

2422

2523
[tox]
2624
envlist =
2725
lint
2826
typing
29-
py{38,39,310,311,312,313,py3}-{crypto,nocrypto}
27+
py{39,310,311,312,313,py3}-{crypto,nocrypto}
3028
docs
3129
pypi-description
3230
coverage-report
@@ -57,14 +55,14 @@ commands =
5755

5856

5957
[testenv:lint]
60-
basepython = python3.8
58+
basepython = python3.9
6159
extras = dev
6260
passenv = HOMEPATH # needed on Windows
6361
commands = pre-commit run --all-files
6462

6563

6664
[testenv:pypi-description]
67-
basepython = python3.8
65+
basepython = python3.9
6866
skip_install = true
6967
deps =
7068
twine
@@ -75,7 +73,7 @@ commands =
7573

7674

7775
[testenv:coverage-report]
78-
basepython = python3.8
76+
basepython = python3.9
7977
skip_install = true
8078
deps = coverage[toml]==5.0.4
8179
commands =

0 commit comments

Comments
 (0)