diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f576096b..d3763210 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,7 @@ jobs: - '3.11' - '3.12' - '3.13' + - '3.14' steps: - uses: actions/checkout@v5 diff --git a/pyproject.toml b/pyproject.toml index 9f8fdf43..50ea09a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks", diff --git a/tests/requirements/compile.py b/tests/requirements/compile.py index f180fc51..9988a24d 100755 --- a/tests/requirements/compile.py +++ b/tests/requirements/compile.py @@ -10,10 +10,14 @@ "py311-dj52-cms50": [], "py312-dj52-cms50": [], "py313-dj52-cms50": [], + "py314-dj52-cms50": [], "py312-dj60-cms50": [], "py313-dj60-cms50": [], + "py314-dj60-cms50": [], "py313-djmain-cmsdev": [], "py313-djmain-cms50": [], + "py314-djmain-cmsdev": [], + "py314-djmain-cms50": [], } django_dict = { @@ -77,6 +81,8 @@ def run(*args, **kwargs): "install", "--upgrade", "pip-tools", + "pip==24.3.1", + "--break-system-packages", ] subprocess.run(args, capture_output=True, check=False) diff --git a/tests/requirements/py311-dj52-cms50-default.txt b/tests/requirements/py311-dj52-cms50-default.txt index fbb53fe4..5f6ddb1a 100644 --- a/tests/requirements/py311-dj52-cms50-default.txt +++ b/tests/requirements/py311-dj52-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py311-dj52-cms50-versioning.txt b/tests/requirements/py311-dj52-cms50-versioning.txt index fbb53fe4..5f6ddb1a 100644 --- a/tests/requirements/py311-dj52-cms50-versioning.txt +++ b/tests/requirements/py311-dj52-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj52-cms50-default.txt b/tests/requirements/py312-dj52-cms50-default.txt index a04dadb2..f42f647b 100644 --- a/tests/requirements/py312-dj52-cms50-default.txt +++ b/tests/requirements/py312-dj52-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj52-cms50-versioning.txt b/tests/requirements/py312-dj52-cms50-versioning.txt index a04dadb2..f42f647b 100644 --- a/tests/requirements/py312-dj52-cms50-versioning.txt +++ b/tests/requirements/py312-dj52-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj60-cms50-default.txt b/tests/requirements/py312-dj60-cms50-default.txt index 7b68aef6..48b2f6a0 100644 --- a/tests/requirements/py312-dj60-cms50-default.txt +++ b/tests/requirements/py312-dj60-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj60-cms50-versioning.txt b/tests/requirements/py312-dj60-cms50-versioning.txt index 7b68aef6..48b2f6a0 100644 --- a/tests/requirements/py312-dj60-cms50-versioning.txt +++ b/tests/requirements/py312-dj60-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj52-cms50-default.txt b/tests/requirements/py313-dj52-cms50-default.txt index 68c1da32..726a31c3 100644 --- a/tests/requirements/py313-dj52-cms50-default.txt +++ b/tests/requirements/py313-dj52-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj52-cms50-versioning.txt b/tests/requirements/py313-dj52-cms50-versioning.txt index 68c1da32..726a31c3 100644 --- a/tests/requirements/py313-dj52-cms50-versioning.txt +++ b/tests/requirements/py313-dj52-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj60-cms50-default.txt b/tests/requirements/py313-dj60-cms50-default.txt index 6194fcf8..f5bf6779 100644 --- a/tests/requirements/py313-dj60-cms50-default.txt +++ b/tests/requirements/py313-dj60-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj60-cms50-versioning.txt b/tests/requirements/py313-dj60-cms50-versioning.txt index 6194fcf8..f5bf6779 100644 --- a/tests/requirements/py313-dj60-cms50-versioning.txt +++ b/tests/requirements/py313-dj60-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cms50-default.txt b/tests/requirements/py313-djmain-cms50-default.txt index 85f9b61f..d7c14a80 100644 --- a/tests/requirements/py313-djmain-cms50-default.txt +++ b/tests/requirements/py313-djmain-cms50-default.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cms50-versioning.txt b/tests/requirements/py313-djmain-cms50-versioning.txt index 85f9b61f..d7c14a80 100644 --- a/tests/requirements/py313-djmain-cms50-versioning.txt +++ b/tests/requirements/py313-djmain-cms50-versioning.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cmsdev-default.txt b/tests/requirements/py313-djmain-cmsdev-default.txt index d68b3186..3bdd61c7 100644 --- a/tests/requirements/py313-djmain-cmsdev-default.txt +++ b/tests/requirements/py313-djmain-cmsdev-default.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -33,9 +34,9 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cmsdev-versioning.txt b/tests/requirements/py313-djmain-cmsdev-versioning.txt index d68b3186..3bdd61c7 100644 --- a/tests/requirements/py313-djmain-cmsdev-versioning.txt +++ b/tests/requirements/py313-djmain-cmsdev-versioning.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -33,9 +34,9 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py314-dj52-cms50-default.txt b/tests/requirements/py314-dj52-cms50-default.txt new file mode 100644 index 00000000..f3979334 --- /dev/null +++ b/tests/requirements/py314-dj52-cms50-default.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==5.2.8 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-dj52-cms50-versioning.txt b/tests/requirements/py314-dj52-cms50-versioning.txt new file mode 100644 index 00000000..f3979334 --- /dev/null +++ b/tests/requirements/py314-dj52-cms50-versioning.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==5.2.8 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-dj60-cms50-default.txt b/tests/requirements/py314-dj60-cms50-default.txt new file mode 100644 index 00000000..6b22db42 --- /dev/null +++ b/tests/requirements/py314-dj60-cms50-default.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==6.0b1 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-dj60-cms50-versioning.txt b/tests/requirements/py314-dj60-cms50-versioning.txt new file mode 100644 index 00000000..6b22db42 --- /dev/null +++ b/tests/requirements/py314-dj60-cms50-versioning.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==6.0b1 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-djmain-cms50-default.txt b/tests/requirements/py314-djmain-cms50-default.txt new file mode 100644 index 00000000..75c6b068 --- /dev/null +++ b/tests/requirements/py314-djmain-cms50-default.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-djmain-cms50-versioning.txt b/tests/requirements/py314-djmain-cms50-versioning.txt new file mode 100644 index 00000000..75c6b068 --- /dev/null +++ b/tests/requirements/py314-djmain-cms50-versioning.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-djmain-cmsdev-default.txt b/tests/requirements/py314-djmain-cmsdev-default.txt new file mode 100644 index 00000000..19e26e4b --- /dev/null +++ b/tests/requirements/py314-djmain-cmsdev-default.txt @@ -0,0 +1,87 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms @ https://github.com/django-cms/django-cms/tarball/main + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 diff --git a/tests/requirements/py314-djmain-cmsdev-versioning.txt b/tests/requirements/py314-djmain-cmsdev-versioning.txt new file mode 100644 index 00000000..19e26e4b --- /dev/null +++ b/tests/requirements/py314-djmain-cmsdev-versioning.txt @@ -0,0 +1,87 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms @ https://github.com/django-cms/django-cms/tarball/main + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 diff --git a/tests/requirements/requirements.in b/tests/requirements/requirements.in index 2599d05a..a1c75ce9 100644 --- a/tests/requirements/requirements.in +++ b/tests/requirements/requirements.in @@ -3,7 +3,7 @@ coverage pytest-django pytest-cov django-classy-tags -django-fsm>=2.6 +django-fsm-2 django-sekizai django-parler flake8 diff --git a/tox.ini b/tox.ini index b620a097..e466e6ae 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] isolated_build = true envlist = - py{311,312,313}-dj{52}-cms50-{default,versioning} - py{312,313}-dj{52,60}-cms50-{default,versioning} + py{311,312,313,314}-dj{52}-cms50-{default,versioning} + py{312,313,314}-dj{52,60}-cms50-{default,versioning} skip_missing_interpreters=True