Skip to content

Commit 0c64033

Browse files
Drop support for Python 3.6-3.8 and add support for 3.12-3.13
Updated `tox.ini`, `pyproject.toml`, and GitHub Actions workflows to reflect the removal of Python 3.6-3.8 and inclusion of 3.12-3.13. Pinned `pre-commit` and `mypy` dependencies to ensure compatibility. Adjusted pre-commit hooks and dependencies to use newer versions for better tooling support.
1 parent f93adc5 commit 0c64033

File tree

4 files changed

+25
-38
lines changed

4 files changed

+25
-38
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,15 @@ jobs:
99
strategy:
1010
matrix:
1111
os:
12-
- "ubuntu-20.04"
12+
- "ubuntu-latest"
1313
- "windows-latest"
1414
- "macos-latest"
1515
python:
16-
- "3.6"
17-
- "3.7"
18-
- "3.8"
1916
- "3.9"
2017
- "3.10"
2118
- "3.11"
22-
# Workaround from https://github.com/actions/runner-images/issues/9770
23-
exclude: # Python < v3.8 does not support Apple Silicon ARM64.
24-
- python: "3.6"
25-
os: macos-latest
26-
- python: "3.7"
27-
os: macos-latest
28-
include: # So run those legacy versions on Intel CPUs.
29-
- python: "3.6"
30-
os: macos-13
31-
- python: "3.7"
32-
os: macos-13
19+
- "3.12"
20+
- "3.13"
3321
steps:
3422
- uses: actions/checkout@v4
3523
- name: Setup python

.pre-commit-config.yaml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
repos:
22
- repo: https://github.com/PyCQA/flake8
3-
rev: 5.0.4
3+
rev: 7.2.0
44
hooks:
55
- id: flake8
66
name: Style Guide Enforcement (flake8)
77
args:
88
- '--max-line-length=90'
99
- '--per-file-ignores=__init__.py:F401'
1010
- repo: https://github.com/asottile/pyupgrade
11-
rev: v2.31.0
11+
rev: v3.19.0
1212
hooks:
1313
- id: pyupgrade
1414
name: Upgrade syntax for newer versions of the language (pyupgrade)
1515
args:
16-
- '--py36-plus'
17-
# - repo: https://github.com/pycqa/isort
18-
# rev: 5.10.0
19-
# hooks:
20-
# - id: isort
21-
# name: 'Reorder Python imports'
22-
- repo: https://github.com/PyCQA/docformatter
23-
rev: v1.5.1
16+
- '--py39-plus'
17+
- repo: https://github.com/pycqa/isort
18+
rev: 6.0.1
2419
hooks:
25-
- id: docformatter
26-
name: 'Formats docstrings'
27-
args:
28-
- '--in-place'
20+
- id: isort
21+
name: Reorder Python imports
22+
# - repo: https://github.com/PyCQA/docformatter
23+
# rev: v1.7.5 # incompatible with pre-commit > 4.0.0, but should be fixed in the next release
24+
# hooks:
25+
# - id: docformatter
26+
# name: Formats docstrings
27+
# args:
28+
# - '--in-place '
2929
- repo: 'https://github.com/pre-commit/pre-commit-hooks'
30-
rev: v4.1.0
30+
rev: v5.0.0
3131
hooks:
3232
- id: trailing-whitespace
3333
- id: end-of-file-fixer
3434
- id: check-toml
3535
- repo: https://github.com/python/black
36-
rev: 22.8.0
36+
rev: 25.1.0
3737
hooks:
3838
- id: black
3939
name: Uncompromising Code Formatter (black)

pyproject.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,13 @@ classifiers = [
1010
"Operating System :: OS Independent",
1111
"Topic :: Software Development :: Libraries :: Application Frameworks",
1212
"Programming Language :: Python :: 3",
13-
"Programming Language :: Python :: 3.6",
14-
"Programming Language :: Python :: 3.7",
15-
"Programming Language :: Python :: 3.8",
1613
"Programming Language :: Python :: 3.9",
1714
"Programming Language :: Python :: 3.10",
1815
"Programming Language :: Python :: 3.11",
16+
"Programming Language :: Python :: 3.12",
17+
"Programming Language :: Python :: 3.13",
1918
]
20-
requires-python = ">=3.6"
19+
requires-python = ">=3.9"
2120
dependencies = [
2221
"requests>=2.26.0",
2322
]

tox.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[tox]
22
isolated_build = true
33
envlist =
4-
py{3.6,37,38,39,310,311}
4+
py{39,310,311,312,313},
55
pre-commit
66
mypy
77
skip_missing_interpreters = true
@@ -15,13 +15,13 @@ commands =
1515
pytest -q {posargs}
1616

1717
[testenv:pre-commit]
18-
deps = pre-commit
18+
deps = pre-commit==4.2.0
1919
commands = pre-commit run --all-files
2020

2121
[testenv:mypy]
2222
deps =
2323
-r requirements.test.txt
24-
mypy
24+
mypy==1.15.0
2525
types-requests
2626
commands = mypy ./mailtrap
2727

0 commit comments

Comments
 (0)