Skip to content

Commit caa0d49

Browse files
committed
chore: Drop support for Python 3.8
- Stop running **tests** for Python **3.8** in CI/CD. - Remove **explicit** support for Python **3.8** from Python project configuration (`setup.py`, `setup.cfg`, and/or `pyproject.toml`). - Compile Python **dependency manifests** with the **next highest** Python version (**3.9**). - Remove Python **3.8** from **Black** configuration. - Remove support for Python **3.8** from Mypy configuration. - Remove support for Python **3.8** from Tox configuration. - Update documentation in README. Reasons for this change: - The end of support date of Python **3.8** is **2024-10-07**: - [PEP 569 – Python 3.8 Release Schedule → 3.8 Lifespan](https://peps.python.org/pep-0569/#lifespan) - [Status of Python versions](https://devguide.python.org/versions/) - Dependabot end-of-support date for Python **3.8** is **2025-02-05**: - [Closing down notice: Dependabot will no longer support Python version 3.8 ← GitHub Changelog](https://github.blog/changelog/2025-01-06-closing-down-notice-dependabot-will-no-longer-support-python-version-3-8/) Ref: https://app.shortcut.com/cordada/story/12613
1 parent 2d41b16 commit caa0d49

8 files changed

+8
-28
lines changed

.black.cfg.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
include = '\.pyi?$'
1010
line-length = 100
1111
skip-string-normalization = true
12-
target-version = ['py38', 'py39', 'py310']
12+
target-version = ['py39', 'py310']

.github/workflows/ci.yaml

+1-3
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ jobs:
2828
strategy:
2929
matrix:
3030
python_version:
31-
- "3.8"
3231
- "3.9"
3332
- "3.10"
3433

@@ -73,7 +72,6 @@ jobs:
7372
strategy:
7473
matrix:
7574
python_version:
76-
- "3.8"
7775
- "3.9"
7876
- "3.10"
7977

@@ -138,7 +136,7 @@ jobs:
138136

139137
- name: Check that compiled Python dependency manifests are up-to-date with their sources
140138
# FIXME: There are issues related to testing with multiple Python versions.
141-
if: ${{ startsWith(steps.set_up_python.outputs.python-version, '3.8.') }}
139+
if: ${{ startsWith(steps.set_up_python.outputs.python-version, '3.9.') }}
142140
run: |
143141
source "$PYTHON_VIRTUALENV_ACTIVATE"
144142
make python-deps-sync-check

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ The full documentation is at <https://lib-cl-sii-python.readthedocs.io>.
3131

3232
## Supported Python versions
3333

34-
Only Python 3.8, 3.9 and 3.10. Python 3.7 and below will not work because we use some features
35-
introduced in Python 3.8.
34+
Only Python 3.9 and 3.10. Python 3.8 and below will not work because we use some features
35+
introduced in Python 3.9.
3636

3737
## Quickstart
3838

mypy.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[mypy]
2-
python_version = 3.8
2+
python_version = 3.9
33
platform = linux
44
mypy_path =
55
src

pyproject.toml

-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ classifiers = [
4343
"License :: OSI Approved :: MIT License",
4444
"Natural Language :: English",
4545
"Programming Language :: Python :: 3",
46-
"Programming Language :: Python :: 3.8",
4746
"Programming Language :: Python :: 3.9",
4847
"Programming Language :: Python :: 3.10",
4948
]

requirements-dev.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.8
2+
# This file is autogenerated by pip-compile with Python 3.9
33
# by the following command:
44
#
55
# pip-compile --allow-unsafe --strip-extras requirements-dev.in
@@ -182,7 +182,6 @@ typing-extensions==4.12.2
182182
# -c requirements.txt
183183
# black
184184
# mypy
185-
# rich
186185
# tox
187186
# types-lxml
188187
urllib3==1.26.19

requirements.txt

+2-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.8
2+
# This file is autogenerated by pip-compile with Python 3.9
33
# by the following command:
44
#
55
# pip-compile --allow-unsafe --strip-extras requirements.in
@@ -12,11 +12,6 @@ attrs==23.2.0
1212
# via
1313
# jsonschema
1414
# referencing
15-
backports-zoneinfo==0.2.1 ; python_version < "3.9"
16-
# via
17-
# -r requirements.in
18-
# django
19-
# djangorestframework
2015
certifi==2024.7.4
2116
# via signxml
2217
cffi==1.16.0
@@ -39,10 +34,6 @@ djangorestframework==3.15.2
3934
# via -r requirements.in
4035
importlib-metadata==8.5.0
4136
# via -r requirements.in
42-
importlib-resources==6.4.5
43-
# via
44-
# jsonschema
45-
# jsonschema-specifications
4637
jsonschema==4.23.0
4738
# via -r requirements.in
4839
jsonschema-specifications==2023.12.1
@@ -55,8 +46,6 @@ marshmallow==3.22.0
5546
# via -r requirements.in
5647
packaging==24.1
5748
# via marshmallow
58-
pkgutil-resolve-name==1.3.10
59-
# via jsonschema
6049
pycparser==2.22
6150
# via cffi
6251
pydantic==2.10.6
@@ -82,12 +71,9 @@ sqlparse==0.5.0
8271
typing-extensions==4.12.2
8372
# via
8473
# -r requirements.in
85-
# annotated-types
8674
# asgiref
8775
# pydantic
8876
# pydantic-core
8977
# pyopenssl
9078
zipp==3.20.2
91-
# via
92-
# importlib-metadata
93-
# importlib-resources
79+
# via importlib-metadata

tox.ini

-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
[tox]
22
envlist =
3-
py38,
43
py39,
54
py310,
65

@@ -12,6 +11,5 @@ deps =
1211
-r{toxinidir}/requirements.txt
1312
-r{toxinidir}/requirements-dev.txt
1413
basepython =
15-
py38: python3.8
1614
py39: python3.9
1715
py310: python3.10

0 commit comments

Comments
 (0)