diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 7afa5db0..88fa926b 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
- python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
+ python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
steps:
- uses: actions/checkout@v4
@@ -37,7 +37,7 @@ jobs:
runs-on: ubuntu-20.04
strategy:
matrix:
- python-version: ['3.12']
+ python-version: ['3.13']
steps:
- uses: actions/checkout@v4
diff --git a/pyproject.toml b/pyproject.toml
index 154c39c9..cab503a4 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -16,6 +16,7 @@ classifiers = [
"Framework :: Django",
"Framework :: Django :: 4.2",
"Framework :: Django :: 5.0",
+ "Framework :: Django :: 5.1",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
@@ -24,6 +25,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
]
dependencies = [
'Django>=4.2',
diff --git a/scripts/supported_versions.py b/scripts/supported_versions.py
index 645af072..992d3ff3 100644
--- a/scripts/supported_versions.py
+++ b/scripts/supported_versions.py
@@ -13,7 +13,7 @@ def cut_by_content(content: str, cut_from: str, cut_to: str):
def keys_from_content(content: str):
- return re.findall(r"
(.*?) | ", content)
+ return re.findall(r"(.*?) | ", content)
def get_python_supported_version(url: str) -> list[Version]:
@@ -49,7 +49,7 @@ def get_django_to_pythoon_versions(url: str):
'',
"",
)
- content = cut_by_content(content, '', "")
+ content = cut_by_content(content, "", "")
versions = keys_from_content(content)
version_dict = dict(zip(versions[::2], versions[1::2]))
@@ -264,13 +264,13 @@ def main():
print()
print()
- print("Add this to the middle of README.md:\n")
+ print("Add this to src/docs/overview/compatibility.md:\n")
readme = build_readme(python_to_django)
print(readme)
print()
print()
- print("And this to the end of README.md:\n")
+ print("Add this to src/docs/overview/development.md:\n")
pyenv = build_pyenv(python_to_django)
print(pyenv)
print()
diff --git a/src/docs/overview/compatibility.md b/src/docs/overview/compatibility.md
index 6aea5f23..ece6a1ed 100644
--- a/src/docs/overview/compatibility.md
+++ b/src/docs/overview/compatibility.md
@@ -10,6 +10,7 @@ Django-components supports all supported combinations versions of [Django](https
| -------------- | -------------- |
| 3.8 | 4.2 |
| 3.9 | 4.2 |
-| 3.10 | 4.2, 5.0 |
-| 3.11 | 4.2, 5.0 |
-| 3.12 | 4.2, 5.0 |
+| 3.10 | 4.2, 5.0, 5.1 |
+| 3.11 | 4.2, 5.0, 5.1 |
+| 3.12 | 4.2, 5.0, 5.1 |
+| 3.13 | 5.1 |
diff --git a/src/docs/overview/development.md b/src/docs/overview/development.md
index 85344750..a7667490 100644
--- a/src/docs/overview/development.md
+++ b/src/docs/overview/development.md
@@ -31,7 +31,8 @@ pyenv install -s 3.9
pyenv install -s 3.10
pyenv install -s 3.11
pyenv install -s 3.12
-pyenv local 3.8 3.9 3.10 3.11 3.12
+pyenv install -s 3.13
+pyenv local 3.8 3.9 3.10 3.11 3.12 3.13
tox -p
```
diff --git a/tox.ini b/tox.ini
index de14a0ca..b21b0743 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,7 +5,8 @@
[tox]
envlist =
py{38,39}-django42
- py{310,311,312}-django{42,50}
+ py{310,311,312}-django{42,50,51}
+ py{313}-django{51}
flake8
isort
coverage
@@ -16,9 +17,10 @@ envlist =
python =
3.8: py38-django42
3.9: py39-django42
- 3.10: py310-django{42,50}
- 3.11: py311-django{42,50}
- 3.12: py312-django{42,50}, flake8, isort, coverage, mypy, black
+ 3.10: py310-django{42,50,51}
+ 3.11: py311-django{42,50,51}
+ 3.12: py312-django{42,50,51}
+ 3.13: py313-django{51}, flake8, isort, coverage, mypy, black
isolated_build = true
@@ -28,6 +30,7 @@ wheel_build_env = .pkg
deps =
django42: Django>=4.2,<4.3
django50: Django>=5.0,<5.1
+ django51: Django>=5.1,<5.2
pytest
pytest-xdist
# NOTE: Keep playwright is sync with the version in requirements-ci.txt