Skip to content

Commit f1a73d2

Browse files
committed
💥 Update supported Python and Django versions
Drop end-of-life versions and extend the support matrix: - Drop Django 3.2 (EOL April 2024) and Python 3.10 (EOL October 2026) - Add Django 5.2 (LTS), 6.0 and Python 3.13, 3.14 - Exclude Python 3.13/3.14 × Django 4.2 (unsupported combinations) - Exclude Python 3.11 × Django 6.0 (requires Python >=3.12) - Update pyproject.toml classifiers, requires-python and django>= - Update tox envlist, deps, gh-actions mapping and mypy stubs - Update CI matrix and README requirements accordingly
1 parent e07331b commit f1a73d2

4 files changed

Lines changed: 29 additions & 21 deletions

File tree

.github/workflows/ci.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@ jobs:
1515
runs-on: ubuntu-latest
1616
strategy:
1717
matrix:
18-
python: ['3.10', '3.11', '3.12']
19-
django: ['3.2', '4.2']
18+
python: ['3.11', '3.12', '3.13', '3.14']
19+
django: ['4.2', '5.2', '6.0']
2020
exclude:
21+
- python: '3.13'
22+
django: '4.2'
23+
- python: '3.14'
24+
django: '4.2'
2125
- python: '3.11'
22-
django: '3.2'
23-
- python: '3.12'
24-
django: '3.2'
26+
django: '6.0'
2527

2628
name: Run the test suite (Python ${{ matrix.python }}, Django ${{ matrix.django }})
2729

@@ -59,7 +61,7 @@ jobs:
5961
- uses: actions/checkout@v4
6062
- uses: actions/setup-python@v5
6163
with:
62-
python-version: '3.10'
64+
python-version: '3.11'
6365

6466
- name: Build wheel
6567
run: |

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ Installation
3030
Requirements
3131
------------
3232

33-
* Python 3.10 or above
34-
* Django 3.2 or newer
33+
* Python 3.11 or above
34+
* Django 4.2 or newer
3535

3636

3737
Install

pyproject.toml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,22 @@ keywords = ["django", "certificate", "security"]
1515
classifiers = [
1616
"Development Status :: 5 - Production/Stable",
1717
"Framework :: Django",
18-
"Framework :: Django :: 3.2",
1918
"Framework :: Django :: 4.2",
19+
"Framework :: Django :: 5.2",
20+
"Framework :: Django :: 6.0",
2021
"Intended Audience :: Developers",
2122
"Operating System :: Unix",
2223
"Operating System :: MacOS",
2324
"Operating System :: Microsoft :: Windows",
24-
"Programming Language :: Python :: 3.10",
2525
"Programming Language :: Python :: 3.11",
2626
"Programming Language :: Python :: 3.12",
27+
"Programming Language :: Python :: 3.13",
28+
"Programming Language :: Python :: 3.14",
2729
"Topic :: Software Development :: Libraries :: Python Modules",
2830
]
29-
requires-python = ">=3.10"
31+
requires-python = ">=3.11"
3032
dependencies = [
31-
"django>=3.2",
33+
"django>=4.2",
3234
"django-privates>=1.5",
3335
"cryptography>=35.0.0",
3436
]

tox.ini

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
[tox]
22
envlist =
3-
py310-django32
4-
py{310,311,312}-django{42}
3+
py{311,312}-django{42,52}
4+
py{312,313,314}-django60
55
isort
66
black
77
flake8
88
docs
9-
py310-django32-mpy
10-
py{310,311,312}-django{42}-mypy
9+
py{311,312}-django{42,52}-mypy
10+
py{312,313,314}-django60-mypy
1111
skip_missing_interpreters = true
1212

1313
[gh-actions]
1414
python =
15-
3.10: py310
1615
3.11: py311
1716
3.12: py312
17+
3.13: py313
18+
3.14: py314
1819

1920
[gh-actions:env]
2021
DJANGO =
21-
3.2: django32
2222
4.2: django42
23+
5.2: django52
24+
6.0: django60
2325

2426
[testenv]
2527
setenv =
@@ -29,8 +31,9 @@ extras =
2931
tests
3032
coverage
3133
deps =
32-
django32: Django~=3.2.0
3334
django42: Django~=4.2.0
35+
django52: Django~=5.2.0
36+
django60: Django~=6.0.0
3437
commands =
3538
py.test tests \
3639
--cov --cov-report xml:reports/coverage-{envname}.xml \
@@ -63,13 +66,14 @@ commands=
6366
--tb=auto \
6467
{posargs}
6568

66-
[testenv:py{310,311,312}-django{32,42}-mypy]
69+
[testenv:py{311,312,313,314}-django{42,52}-mypy]
6770
extras =
6871
tests
6972
testutils
7073
type-checking
7174
deps =
72-
django32: django-stubs[compatible-mypy]~=4.2.0
7375
django42: django-stubs[compatible-mypy]~=5.1.0
76+
django52: django-stubs[compatible-mypy]~=5.2.0
77+
django60: django-stubs[compatible-mypy]~=6.0.0
7478
skipsdist = True
7579
commands = mypy simple_certmanager

0 commit comments

Comments
 (0)