Skip to content

Commit a7d0a0f

Browse files
committed
Drop Python 3.8 support. Test Python 3.13 final
1 parent 88b9ff1 commit a7d0a0f

3 files changed

Lines changed: 24 additions & 32 deletions

File tree

.github/workflows/tests.yaml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ jobs:
1414

1515
steps:
1616
- uses: actions/checkout@v4
17-
- uses: actions/setup-python@v4
17+
- uses: actions/setup-python@v5
1818
with:
19-
python-version: '3.8'
19+
python-version: '3.11'
2020

2121
- name: Install pre-commit
2222
run: |
@@ -32,18 +32,17 @@ jobs:
3232
runs-on: ${{ matrix.os }}
3333
strategy:
3434
matrix:
35-
python-version: ['pypy-3.10', '3.8', '3.9', '3.10', '3.11', '3.12', '3.13-dev']
35+
python-version: ['pypy-3.10', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14-dev']
3636
os: [ubuntu-latest, macos-latest, windows-latest]
37-
continue-on-error: ${{ matrix.python-version == '3.13-dev' }}
37+
continue-on-error: ${{ matrix.python-version == '3.14-dev' }}
3838

3939
steps:
4040
- uses: actions/checkout@v4
4141

4242
- name: Set up Python ${{ matrix.python-version }}
43-
uses: actions/setup-python@v4
43+
uses: actions/setup-python@v5
4444
with:
4545
python-version: ${{ matrix.python-version }}
46-
allow-prereleases: true
4746

4847
- name: Install test deps
4948
run: |
@@ -56,7 +55,9 @@ jobs:
5655
5756
- name: Report coverage
5857
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10'
59-
uses: codecov/codecov-action@v3
58+
uses: codecov/codecov-action@v4
59+
with:
60+
token: ${{ secrets.CODECOV_TOKEN }}
6061

6162
allgood:
6263
runs-on: ubuntu-latest
@@ -73,7 +74,7 @@ jobs:
7374
runs-on: ubuntu-latest
7475
steps:
7576
- uses: actions/checkout@v4
76-
- uses: actions/setup-python@v4
77+
- uses: actions/setup-python@v5
7778
with:
7879
python-version: '3.x'
7980
- name: Install build and publish tools

.pre-commit-config.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ repos:
1414
- flake8-builtins
1515
- flake8-comprehensions
1616
- repo: https://github.com/PyCQA/isort
17-
rev: dbf82f2dd09ae41d9355bcd7ab69187a19e6bf2f # frozen: 5.12.0
17+
rev: c235f5e450b4b84e58d114ed4c589cbf454175a3 # frozen: 5.13.2
1818
hooks:
1919
- id: isort
2020
- repo: https://github.com/psf/black-pre-commit-mirror
21-
rev: 34974913abb598ee76541db1900f24fde7dd1d76 # frozen: 23.11.0
21+
rev: c53240a7f974b3707e13eac6710542cc96a2d61a # frozen: 24.10.0
2222
hooks:
2323
- id: black
24-
- repo: https://github.com/PyCQA/docformatter
25-
rev: dfefe062799848234b4cd60b04aa633c0608025e # frozen: v1.7.5
24+
- repo: https://github.com/hukkin/docformatter
25+
rev: ab802050e6e96aaaf7f917fcbc333bb74e2e57f7 # frozen: v1.4.2
2626
hooks:
2727
- id: docformatter
2828
- repo: https://github.com/pre-commit/pre-commit-hooks
29-
rev: c4a0b883114b00d8d76b479c820ce7950211c99b # frozen: v4.5.0
29+
rev: cef0300fd0fc4d2a87a85fa2093c6b283ea36f4b # frozen: v5.0.0
3030
hooks:
3131
- id: check-yaml
3232
- repo: https://github.com/pre-commit/pygrep-hooks
@@ -36,15 +36,15 @@ repos:
3636
- id: python-check-blanket-noqa
3737
- id: python-check-blanket-type-ignore
3838
- repo: https://github.com/PyCQA/flake8
39-
rev: 10f4af6dbcf93456ba7df762278ae61ba3120dc6 # frozen: 6.1.0
39+
rev: e43806be3607110919eff72939fda031776e885a # frozen: 7.1.1
4040
hooks:
4141
- id: flake8
4242
additional_dependencies:
4343
- flake8-bugbear
4444
- flake8-builtins
4545
- flake8-comprehensions
4646
- repo: https://github.com/pre-commit/mirrors-mypy
47-
rev: 4c8a8c7d5eb892ab5a6e23e11f36dbba5874d40c # frozen: v1.7.0
47+
rev: d4911cfb7f1010759fde68da196036feeb25b99d # frozen: v1.11.2
4848
hooks:
4949
- id: mypy
5050
args: ["--scripts-are-modules"]

pyproject.toml

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,14 @@ authors = [
1010
{ name = "Taneli Hukkinen", email = "hukkin@users.noreply.github.com" },
1111
]
1212
license = { file = "LICENSE" }
13-
requires-python = ">=3.8"
13+
requires-python = ">=3.9"
1414
readme = "README.md"
1515
classifiers = [
1616
"License :: OSI Approved :: MIT License",
1717
"Operating System :: MacOS",
1818
"Operating System :: Microsoft :: Windows",
1919
"Operating System :: POSIX :: Linux",
2020
"Programming Language :: Python :: 3 :: Only",
21-
"Programming Language :: Python :: 3.8",
22-
"Programming Language :: Python :: 3.9",
23-
"Programming Language :: Python :: 3.10",
24-
"Programming Language :: Python :: 3.11",
25-
"Programming Language :: Python :: 3.12",
2621
"Programming Language :: Python :: Implementation :: CPython",
2722
"Programming Language :: Python :: Implementation :: PyPy",
2823
"Topic :: Software Development :: Libraries :: Python Modules",
@@ -53,18 +48,14 @@ xfail_strict = true
5348

5449

5550
[tool.tox]
56-
legacy_tox_ini = '''
57-
[tox]
51+
requires = ["tox>=4.21.1"]
5852
# Only run pytest envs when no args given to tox
59-
envlist = py{38,39,310,311,312}
60-
isolated_build = True
61-
62-
[testenv:py{38,39,310,311,312}]
63-
description = run tests
64-
deps = -r tests/requirements.txt
65-
commands =
66-
pytest {posargs}
67-
'''
53+
env_list = ["3.9", "3.10", "3.11", "3.12", "3.13"]
54+
55+
[tool.tox.env_run_base]
56+
description = "Run tests under {base_python}"
57+
deps = ["-r tests/requirements.txt"]
58+
commands = [["pytest", { replace = "posargs", extend = true }]]
6859

6960

7061
[tool.coverage.run]

0 commit comments

Comments
 (0)