Skip to content

Commit 47af394

Browse files
committed
feat: add 3.13 to the supported versions
1 parent f1b0dff commit 47af394

File tree

10 files changed

+49
-44
lines changed

10 files changed

+49
-44
lines changed

.github/workflows/tests.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ jobs:
66
fail-fast: false
77
matrix:
88
include:
9+
- { python-version: "3.13", os: ubuntu-latest }
10+
- { python-version: "3.13", os: windows-latest }
11+
- { python-version: "3.13", os: macos-latest }
912
- { python-version: "3.12", os: ubuntu-latest }
10-
- { python-version: "3.12", os: windows-latest }
11-
- { python-version: "3.12", os: macos-latest }
1213
- { python-version: "3.11", os: ubuntu-latest }
1314
- { python-version: "3.10", os: ubuntu-latest }
1415
- { python-version: "3.9", os: ubuntu-latest }

.github/workflows/update-instance.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ jobs:
2121
repository: "cjolowicz/${{ env.PROJECT }}"
2222
path: ${{ env.PROJECT }}
2323
token: ${{ secrets.X_GITHUB_TOKEN }}
24-
- name: Set up Python 3.12
24+
- name: Set up Python 3.13
2525
uses: actions/[email protected]
2626
with:
27-
python-version: "3.12"
27+
python-version: "3.13"
2828
- name: Install cutty
2929
working-directory: ${{ env.TEMPLATE }}
3030
run: |

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ cookiecutter gh:cjolowicz/cookiecutter-hypermodern-python --checkout=2022.6.3
7878
- Generate command-line reference with [sphinx-click]
7979
- Manage project labels with [GitHub Labeler]
8080

81-
The template supports Python 3.9, 3.10, 3.11, and 3.12.
81+
The template supports Python 3.9, 3.10, 3.11, 3.12, and 3.13.
8282

8383
[autodoc]: https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html
8484
[bandit]: https://github.com/PyCQA/bandit

docs/guide.md

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ python -VV
9898
py -VV
9999
```
100100

101-
Both of these commands should display the latest Python version, 3.12.
101+
Both of these commands should display the latest Python version, 3.13.
102102

103103
For local testing with multiple Python versions,
104104
repeat these steps for the latest bugfix releases of Python 3.9+,
@@ -137,21 +137,22 @@ Install the Python build dependencies for your platform,
137137
using one of the commands listed in the [official instructions][pyenv wiki].
138138

139139
Install the latest point release of every supported Python version.
140-
This project template supports Python 3.9, 3.10, 3.11, and 3.12.
140+
This project template supports Python 3.9, 3.10, 3.11, 3.12, and 3.13.
141141

142142
```console
143143
$ pyenv install 3.9.13
144144
$ pyenv install 3.10.11
145145
$ pyenv install 3.11.8
146-
$ pyenv install 3.12.2
146+
$ pyenv install 3.12.10
147+
$ pyenv install 3.13.3
147148
```
148149

149150
After creating your project (see [below](creating-a-project)),
150151
you can make these Python versions accessible in the project directory,
151152
using the following command:
152153

153154
```console
154-
$ pyenv local 3.12.2 3.11.8 3.10.11 3.9.13
155+
$ pyenv local 3.13.3 3.12.10 3.11.8 3.10.11 3.9.13
155156
```
156157

157158
The first version listed is the one used when you type plain `python`.
@@ -980,10 +981,11 @@ $ poetry env use 3.9
980981
$ poetry env use 3.10
981982
$ poetry env use 3.11
982983
$ poetry env use 3.12
984+
$ poetry env use 3.13
983985
```
984986

985987
Only one Poetry environment can be active at any time.
986-
Note that `3.12` comes last,
988+
Note that `3.13` comes last,
987989
to ensure that the current Python release is the active environment.
988990
Install your package with `poetry install` into each environment after creating it.
989991

@@ -1156,7 +1158,7 @@ For example, the following may be more practical during development
11561158
(this will only run tests and type checks, on the current Python release):
11571159

11581160
```console
1159-
$ nox -p 3.12 -rs tests mypy
1161+
$ nox -p 3.13 -rs tests mypy
11601162
```
11611163

11621164
Many sessions accept additional options after `--` separator.
@@ -1182,39 +1184,39 @@ The following table gives an overview of the available Nox sessions:
11821184
- Default
11831185
- - [coverage](the-coverage-session)
11841186
- Report coverage with [Coverage.py]
1185-
- `3.12`
1187+
- `3.13`
11861188
- (✓)
11871189
- - [docs](the-docs-session)
11881190
- Build and serve [Sphinx] documentation
1189-
- `3.12`
1191+
- `3.13`
11901192
-
11911193
- - [docs-build](the-docs-build-session)
11921194
- Build [Sphinx] documentation
1193-
- `3.12`
1195+
- `3.13`
11941196
-
11951197
- - [mypy](the-mypy-session)
11961198
- Type-check with [mypy]
1197-
- `3.9``3.12`
1199+
- `3.9``3.13`
11981200
-
11991201
- - [pre-commit](the-pre-commit-session)
12001202
- Lint with [pre-commit]
1201-
- `3.12`
1203+
- `3.13`
12021204
-
12031205
- - [safety](the-safety-session)
12041206
- Scan dependencies with [Safety]
1205-
- `3.12`
1207+
- `3.13`
12061208
-
12071209
- - [tests](the-tests-session)
12081210
- Run tests with [pytest]
1209-
- `3.9``3.12`
1211+
- `3.9``3.13`
12101212
-
12111213
- - [typeguard](the-typeguard-session)
12121214
- Type-check with [Typeguard]
1213-
- `3.12`
1215+
- `3.13`
12141216
-
12151217
- - [xdoctest](the-xdoctest-session)
12161218
- Run examples with [xdoctest]
1217-
- `3.9``3.12`
1219+
- `3.9``3.13`
12181220
-
12191221

12201222
:::
@@ -1274,7 +1276,7 @@ For example, the following command runs mypy
12741276
using the current stable release of Python:
12751277

12761278
```console
1277-
$ nox --session=mypy --python=3.12
1279+
$ nox --session=mypy --python=3.13
12781280
```
12791281

12801282
Use the separator `--` to pass additional options and arguments to `mypy`.
@@ -1348,7 +1350,7 @@ For example, the following command runs the test suite
13481350
using the current stable release of Python:
13491351

13501352
```console
1351-
$ nox --session=tests --python=3.12
1353+
$ nox --session=tests --python=3.13
13521354
```
13531355

13541356
Use the separator `--` to pass additional options to `pytest`.
@@ -1475,7 +1477,7 @@ For example, the following command runs the examples
14751477
using the current stable release of Python:
14761478

14771479
```console
1478-
$ nox --session=xdoctest --python=3.12
1480+
$ nox --session=xdoctest --python=3.13
14791481
```
14801482

14811483
By default, the Nox session uses the `all` subcommand to run all examples.
@@ -2269,28 +2271,28 @@ as shown in the table below:
22692271
- Python versions
22702272
- - [pre-commit](the-pre-commit-session)
22712273
- Ubuntu
2272-
- 3.12
2274+
- 3.13
22732275
- - [safety](the-safety-session)
22742276
- Ubuntu
2275-
- 3.12
2277+
- 3.13
22762278
- - [mypy](the-mypy-session)
22772279
- Ubuntu
2278-
- 3.12, 3.11, 3.10, 3.9
2280+
- 3.13, 3.12, 3.11, 3.10, 3.9
22792281
- - [tests](the-tests-session)
22802282
- Ubuntu
2281-
- 3.12, 3.11, 3.10, 3.9
2283+
- 3.13, 3.12, 3.11, 3.10, 3.9
22822284
- - [tests](the-tests-session)
22832285
- Windows
2284-
- 3.12
2286+
- 3.13
22852287
- - [tests](the-tests-session)
22862288
- macOS
2287-
- 3.12
2289+
- 3.13
22882290
- - [coverage](the-coverage-session)
22892291
- Ubuntu
2290-
- 3.12
2292+
- 3.13
22912293
- - [docs-build](the-docs-build-session)
22922294
- Ubuntu
2293-
- 3.12
2295+
- 3.13
22942296

22952297
:::
22962298

docs/quickstart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ $ pipx inject nox nox-poetry
1818

1919
[pipx] is preferred, but you can also install with `pip install --user`.
2020

21-
It is recommended to set up Python 3.9, 3.10, 3.11, and 3.12 using [pyenv].
21+
It is recommended to set up Python 3.9, 3.10, 3.11, 3.12, and 3.13 using [pyenv].
2222

2323
## Creating a project
2424

noxfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from nox.sessions import Session
1111

1212

13-
python_versions = ["3.12", "3.11", "3.10", "3.9"]
13+
python_versions = ["3.13", "3.12", "3.11", "3.10", "3.9"]
1414

1515
nox.options.sessions = ["docs"]
1616
owner, repository = "56kyle", "cookiecutter-hypermodern-python"

{{cookiecutter.project_name}}/.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Set up Python
2424
uses: actions/setup-python@v4
2525
with:
26-
python-version: "3.12"
26+
python-version: "3.13"
2727

2828
- name: Upgrade pip
2929
run: |

{{cookiecutter.project_name}}/.github/workflows/tests.yml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,23 @@ jobs:
1212
fail-fast: false
1313
matrix:
1414
include:
15-
- { python: "3.12", os: "ubuntu-latest", session: "pre-commit" }
16-
- { python: "3.12", os: "ubuntu-latest", session: "safety" }
15+
- { python: "3.13", os: "ubuntu-latest", session: "pre-commit" }
16+
- { python: "3.13", os: "ubuntu-latest", session: "safety" }
17+
- { python: "3.13", os: "ubuntu-latest", session: "mypy" }
1718
- { python: "3.12", os: "ubuntu-latest", session: "mypy" }
1819
- { python: "3.11", os: "ubuntu-latest", session: "mypy" }
1920
- { python: "3.10", os: "ubuntu-latest", session: "mypy" }
2021
- { python: "3.9", os: "ubuntu-latest", session: "mypy" }
22+
- { python: "3.13", os: "ubuntu-latest", session: "tests" }
2123
- { python: "3.12", os: "ubuntu-latest", session: "tests" }
2224
- { python: "3.11", os: "ubuntu-latest", session: "tests" }
2325
- { python: "3.10", os: "ubuntu-latest", session: "tests" }
2426
- { python: "3.9", os: "ubuntu-latest", session: "tests" }
25-
- { python: "3.12", os: "windows-latest", session: "tests" }
26-
- { python: "3.12", os: "macos-latest", session: "tests" }
27-
- { python: "3.12", os: "ubuntu-latest", session: "typeguard" }
28-
- { python: "3.12", os: "ubuntu-latest", session: "xdoctest" }
29-
- { python: "3.12", os: "ubuntu-latest", session: "docs-build" }
27+
- { python: "3.13", os: "windows-latest", session: "tests" }
28+
- { python: "3.13", os: "macos-latest", session: "tests" }
29+
- { python: "3.13", os: "ubuntu-latest", session: "typeguard" }
30+
- { python: "3.13", os: "ubuntu-latest", session: "xdoctest" }
31+
- { python: "3.13", os: "ubuntu-latest", session: "docs-build" }
3032

3133
env:
3234
NOXSESSION: ${{"{{"}} matrix.session {{"}}"}}
@@ -122,7 +124,7 @@ jobs:
122124
- name: Set up Python
123125
uses: actions/[email protected]
124126
with:
125-
python-version: "3.12"
127+
python-version: "3.13"
126128

127129
- name: Upgrade pip
128130
run: |

{{cookiecutter.project_name}}/.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: 2
22
build:
33
os: ubuntu-20.04
44
tools:
5-
python: "3.12"
5+
python: "3.13"
66
sphinx:
77
configuration: docs/conf.py
88
formats: all

{{cookiecutter.project_name}}/noxfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525

2626
package = "{{cookiecutter.package_name}}"
27-
python_versions = ["3.12", "3.11", "3.10", "3.9"]
27+
python_versions = ["3.13", "3.12", "3.11", "3.10", "3.9"]
2828
nox.needs_version = ">= 2021.6.6"
2929
nox.options.sessions = (
3030
"pre-commit",

0 commit comments

Comments
 (0)