Skip to content

Commit da08c2e

Browse files
authored
feat: Support Python 3.12. (#203)
1 parent bd4a1bc commit da08c2e

File tree

17 files changed

+198
-9
lines changed

17 files changed

+198
-9
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ jobs:
2525
- '3.9'
2626
- '3.10'
2727
- '3.11'
28+
- '3.12'
2829
consistency:
2930
if: ${{ !cancelled() && ! failure() }}
3031
needs: dependabot
@@ -39,7 +40,7 @@ jobs:
3940
uses: actions/setup-python@v4
4041
with:
4142
cache: pip
42-
python-version: '3.11'
43+
python-version: '3.12'
4344
- run: env | sort
4445
- name: Install copier for template rendering using pipx
4546
run: pipx install copier
@@ -76,6 +77,7 @@ jobs:
7677
3.9
7778
3.10
7879
3.11
80+
3.12
7981
- name: Install pipenv using pipx
8082
run: pipx install pipenv
8183
- name: Generate constraints for all supported Python versions
@@ -84,6 +86,7 @@ jobs:
8486
CI= PYTHON_VERSION=3.9 make constraints
8587
CI= PYTHON_VERSION=3.10 make constraints
8688
CI= PYTHON_VERSION=3.11 make constraints
89+
CI= PYTHON_VERSION=3.12 make constraints
8790
- name: Sync template
8891
run: cp -v constraints/* template/constraints/
8992
- name: Push changes if applicable

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
uses: actions/setup-python@v4
99
with:
1010
cache: pip
11-
python-version: '3.11'
11+
python-version: '3.12'
1212
- run: env | sort
1313
- run: make dev-package
1414
- run: make build
@@ -27,7 +27,7 @@ jobs:
2727
uses: actions/setup-python@v4
2828
with:
2929
cache: pip
30-
python-version: '3.11'
30+
python-version: '3.12'
3131
- run: env | sort
3232
- run: make dev-docs
3333
- run: make docs

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ stages:
22
- ci
33
- release
44
default:
5-
image: python:3.11
5+
image: python:3.12
66
include: .gitlab/ci/**.yml

.gitlab/ci/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ ci:
1717
- '3.9'
1818
- '3.10'
1919
- '3.11'
20+
- '3.12'
2021
script:
2122
- env | sort
2223
- make dev

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ repos:
2424
- constraints/3.9.txt
2525
- constraints/3.10.txt
2626
- constraints/3.11.txt
27+
- constraints/3.12.txt
2728
- requirements.txt
2829
- requirements/docs.txt
2930
- requirements/lint.txt

.readthedocs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ build:
1111
- make changelog
1212
os: ubuntu-22.04
1313
tools:
14-
python: '3.11'
14+
python: '3'
1515
sphinx:
1616
fail_on_warning: true
1717
version: 2

.vscode/settings.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@
110110
"3.8",
111111
"3.9",
112112
"3.10",
113-
"3.11"
113+
"3.11",
114+
"3.12"
114115
],
115116
"vscode-yaml-sort.noCompatMode": true,
116117
"vscode-yaml-sort.sortOnSave": 2,

constraints/3.12.txt

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
alabaster==0.7.13
2+
annotated-types==0.6.0
3+
autodoc-pydantic==2.0.1
4+
Babel==2.13.0
5+
beautifulsoup4==4.12.2
6+
black==23.9.1
7+
build==1.0.3
8+
certifi==2023.7.22
9+
charset-normalizer==3.3.0
10+
click==8.1.7
11+
colorama==0.4.6
12+
coverage==7.3.2
13+
docutils==0.20.1
14+
furo==2023.9.10
15+
git-changelog==2.2.0
16+
idna==3.4
17+
imagesize==1.4.1
18+
importlib-metadata==6.8.0
19+
iniconfig==2.0.0
20+
isort==5.12.0
21+
jaraco.classes==3.3.0
22+
Jinja2==3.1.2
23+
keyring==24.2.0
24+
livereload==2.6.3
25+
lxml==4.9.3
26+
markdown-it-py==3.0.0
27+
MarkupSafe==2.1.3
28+
mdit-py-plugins==0.4.0
29+
mdurl==0.1.2
30+
more-itertools==10.1.0
31+
mypy==1.5.1
32+
mypy-extensions==1.0.0
33+
myst-parser==2.0.0
34+
nh3==0.2.14
35+
packaging==23.2
36+
pathspec==0.11.2
37+
pkginfo==1.9.6
38+
platformdirs==3.11.0
39+
pluggy==1.3.0
40+
pydantic==2.4.2
41+
pydantic-settings==2.0.3
42+
pydantic_core==2.10.1
43+
Pygments==2.16.1
44+
pyproject_hooks==1.0.0
45+
pytest==7.4.2
46+
python-dotenv==1.0.0
47+
PyYAML==6.0.1
48+
readme-renderer==42.0
49+
requests==2.31.0
50+
requests-toolbelt==1.0.0
51+
rfc3986==2.0.0
52+
rich==13.6.0
53+
ruff==0.0.292
54+
semver==3.0.1
55+
setuptools==68.2.2
56+
setuptools-scm==8.0.4
57+
shellingham==1.5.3
58+
six==1.16.0
59+
snowballstemmer==2.2.0
60+
soupsieve==2.5
61+
Sphinx==7.2.6
62+
sphinx-autobuild==2021.3.14
63+
sphinx-basic-ng==1.0.0b2
64+
sphinx-click==5.0.1
65+
sphinxcontrib-applehelp==1.0.7
66+
sphinxcontrib-devhelp==1.0.5
67+
sphinxcontrib-htmlhelp==2.0.4
68+
sphinxcontrib-jsmath==1.0.1
69+
sphinxcontrib-qthelp==1.0.6
70+
sphinxcontrib-serializinghtml==1.1.9
71+
toml-sort==0.23.1
72+
tomlkit==0.12.1
73+
tornado==6.3.3
74+
twine==4.0.2
75+
typer==0.9.0
76+
typing_extensions==4.8.0
77+
urllib3==2.0.6
78+
zipp==3.17.0

copier.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,11 @@ min_py:
115115
- '3.9'
116116
- '3.10'
117117
- '3.11'
118+
- '3.12'
118119
help: 'Choose the minimal Python version the project should support:'
119120
type: str
120121
max_py:
121-
default: '3.11'
122+
default: '3.12'
122123
choices:
123124
'3.8':
124125
validator: '[% from pathjoin("includes", "version_compare.jinja") import version_higher_than_validator %]{{ version_higher_than_validator("3.8", min_py) }}'
@@ -130,7 +131,10 @@ max_py:
130131
validator: '[% from pathjoin("includes", "version_compare.jinja") import version_higher_than_validator %]{{ version_higher_than_validator("3.10", min_py) }}'
131132
value: '3.10'
132133
'3.11':
134+
validator: '[% from pathjoin("includes", "version_compare.jinja") import version_higher_than_validator %]{{ version_higher_than_validator("3.11", min_py) }}'
133135
value: '3.11'
136+
'3.12':
137+
value: '3.12'
134138
help: 'Choose the maximal Python version the project should support:'
135139
type: str
136140
default_py:
@@ -148,5 +152,8 @@ default_py:
148152
'3.11':
149153
validator: '[% from pathjoin("includes", "version_compare.jinja") import version_between_validator %]{{ version_between_validator("3.11", min_py, max_py) }}'
150154
value: '3.11'
155+
'3.12':
156+
validator: '[% from pathjoin("includes", "version_compare.jinja") import version_between_validator %]{{ version_between_validator("3.12", min_py, max_py) }}'
157+
value: '3.12'
151158
help: 'Choose the default Python version for development, documentation generation, and package build:'
152159
type: str

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ classifiers = [
1515
"Operating System :: OS Independent",
1616
"Programming Language :: Python :: 3.10",
1717
"Programming Language :: Python :: 3.11",
18+
"Programming Language :: Python :: 3.12",
1819
"Programming Language :: Python :: 3.8",
1920
"Programming Language :: Python :: 3.9",
2021
]

0 commit comments

Comments
 (0)