Skip to content

Commit ca689ff

Browse files
authored
feat: add Python 3.13 support officially (#28)
* feat: add Python 3.13 support - Update CI workflow to include Python 3.13 tests - Set Python 3.13 as the latest version for coverage reports - Update development environment docs and pyproject.toml classifiers - Update pre-commit and readthedocs configs to use Python 3.13 * chore(codecov): remove .comment key from codecov configuration file
1 parent be04c65 commit ca689ff

File tree

8 files changed

+15
-10
lines changed

8 files changed

+15
-10
lines changed

.github/workflows/tests.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,24 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
include:
20-
- { python: "3.12", os: "ubuntu-latest", session: "pre-commit" }
20+
- { python: "3.13", os: "ubuntu-latest", session: "pre-commit" }
21+
- { python: "3.13", os: "ubuntu-latest", session: "mypy" }
2122
- { python: "3.12", os: "ubuntu-latest", session: "mypy" }
2223
- { python: "3.11", os: "ubuntu-latest", session: "mypy" }
2324
- { python: "3.10", os: "ubuntu-latest", session: "mypy" }
25+
- { python: "3.13", os: "ubuntu-latest", session: "tests" }
2426
- { python: "3.12", os: "ubuntu-latest", session: "tests" }
2527
- { python: "3.11", os: "ubuntu-latest", session: "tests" }
2628
- { python: "3.10", os: "ubuntu-latest", session: "tests" }
29+
- { python: "3.13", os: "windows-latest", session: "tests" }
2730
- { python: "3.12", os: "windows-latest", session: "tests" }
2831
- { python: "3.11", os: "windows-latest", session: "tests" }
2932
- { python: "3.10", os: "windows-latest", session: "tests" }
33+
- { python: "3.13", os: "macos-latest", session: "tests" }
3034
- { python: "3.12", os: "macos-latest", session: "tests" }
3135
- { python: "3.11", os: "macos-latest", session: "tests" }
3236
- { python: "3.10", os: "macos-latest", session: "tests" }
33-
- { python: "3.12", os: "ubuntu-latest", session: "docs-build" }
37+
- { python: "3.13", os: "ubuntu-latest", session: "docs-build" }
3438

3539
env:
3640
NOXSESSION: ${{ matrix.session }}
@@ -100,7 +104,7 @@ jobs:
100104
nox --python=${{ matrix.python }}
101105
102106
- name: Upload coverage data
103-
if: always() && matrix.session == 'tests' && matrix.python == '3.12' && matrix.os == 'ubuntu-latest'
107+
if: always() && matrix.session == 'tests' && matrix.python == '3.13' && matrix.os == 'ubuntu-latest'
104108
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
105109
with:
106110
name: coverage-data
@@ -124,7 +128,7 @@ jobs:
124128
- name: Set up Python
125129
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
126130
with:
127-
python-version: "3.12"
131+
python-version: "3.13"
128132

129133
- name: Upgrade pip
130134
run: |

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
default_language_version:
2-
python: python3.12
2+
python: python3.13
33

44
repos:
55
- repo: https://github.com/charliermarsh/ruff-pre-commit

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
3.10
22
3.11
33
3.12
4+
3.13

.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

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ Request features on the [Issue Tracker].
3737

3838
## How to set up your development environment
3939

40-
You need to have Python 3.10, 3.11, 3.12 at the same time, you can use [pyenv] to do so, once you have installed [pyenv], you can use the following command to install the required python versions:
40+
You need to have Python 3.10, 3.11, 3.12, 3.13 at the same time, you can use [pyenv] to do so, once you have installed [pyenv], you can use the following command to install the required python versions:
4141

4242
```console
43-
$ pyenv install 3.10 3.11 3.12
43+
$ pyenv install 3.10 3.11 3.12 3.13
4444
```
4545

4646
And you also need the following packages:

codecov.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
.comment: false
21
coverage:
32
status:
43
project:

noxfile.py

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

2121

2222
package = "fastapi_injectable"
23-
python_versions = ["3.10", "3.11", "3.12"]
23+
python_versions = ["3.10", "3.11", "3.12", "3.13"]
2424
latest_python_version = python_versions[-1]
2525
nox.needs_version = ">= 2024.10.9"
2626
nox.options.sessions = (

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ classifiers = [
1414
"Programming Language :: Python :: 3.10",
1515
"Programming Language :: Python :: 3.11",
1616
"Programming Language :: Python :: 3.12",
17+
"Programming Language :: Python :: 3.13",
1718
"Framework :: FastAPI",
1819
"License :: OSI Approved :: MIT License",
1920
]

0 commit comments

Comments
 (0)