Skip to content

Commit 18f283e

Browse files
chore: drop Python 3.9 support, add Python 3.13 (#843)
### Changes - Drop Python 3.9 from supported versions (EOL since October 2025) - Add Python 3.13 to the test matrix and classifiers - Bump minimum Python version to `>=3.10` in `pyproject.toml` - Update publish workflow to build on Python 3.10 - Unpin Poetry version constraint (Poetry 2.x requires Python 3.10+, which is now our minimum) This also fixes CI failures on PR #841 where `pipx install poetry` was pulling Poetry 2.x which crashes on Python 3.9 with `TypeError: dataclass() got an unexpected keyword argument 'slots'`. ### References - [Poetry 2.0 changelog](https://python-poetry.org/blog/announcing-poetry-2.0.0/) (requires Python 3.10+) - [Python 3.9 EOL](https://devguide.python.org/versions/) (end-of-life October 2025) ### Testing - CI matrix now runs on Python 3.10, 3.11, 3.12, 3.13 - No code changes to the library itself, only build/CI configuration - [ ] This change adds unit test coverage - [x] This change has been tested on the latest version of the platform/language or why not ### Checklist - [x] I have read the [Auth0 general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) - [x] I have read the [Auth0 Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) - [x] All existing and new tests complete without errors
1 parent 3b19ca9 commit 18f283e

5 files changed

Lines changed: 10 additions & 10 deletions

File tree

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ jobs:
102102
- name: Configure Python
103103
uses: actions/setup-python@v6
104104
with:
105-
python-version: "3.9"
105+
python-version: "3.10"
106106

107107
- name: Configure dependencies
108108
run: |

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
3939
strategy:
4040
matrix:
41-
python-version: ["3.9", "3.10", "3.11", "3.12"]
41+
python-version: ["3.10", "3.11", "3.12", "3.13"]
4242

4343
steps:
4444
- name: Checkout code

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ pip install auth0-python
3434
```
3535

3636
**Requirements:**
37-
- Python ≥3.9 (Python 3.8 support has been dropped)
37+
- Python ≥3.10 (Python 3.9 support has been dropped)
3838

3939
## Reference
4040

poetry.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ classifiers = [
1414
"Intended Audience :: Developers",
1515
"Programming Language :: Python",
1616
"Programming Language :: Python :: 3",
17-
"Programming Language :: Python :: 3.9",
1817
"Programming Language :: Python :: 3.10",
1918
"Programming Language :: Python :: 3.11",
2019
"Programming Language :: Python :: 3.12",
20+
"Programming Language :: Python :: 3.13",
2121
"Operating System :: OS Independent",
2222
"Operating System :: POSIX",
2323
"Operating System :: MacOS",
@@ -35,7 +35,7 @@ Repository = 'https://github.com/auth0/auth0-python'
3535
Homepage = 'https://auth0.com'
3636

3737
[tool.poetry.dependencies]
38-
python = ">=3.9.2,<4.0"
38+
python = ">=3.10"
3939
httpx = ">=0.21.2"
4040
pydantic = ">= 1.9.2"
4141
pydantic-core = ">=2.18.2"

0 commit comments

Comments
 (0)