diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9998bac7..5b464d5b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: python-version: "3.12" cache: 'poetry' - run: pip install tox - - run: tox -e lint,py312-dj50 + - run: tox -e lint,py312-dj51 test_compatibility: needs: test runs-on: ubuntu-latest @@ -26,14 +26,12 @@ jobs: # Test with all supported Django versions, for all compatible Python versions. # See https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django for the official matrix. # Additionally test on Django’s main branch with the most recent Python version. - - python: "3.8" - toxenv: py38-dj32,py38-dj42 - python: "3.9" - toxenv: py39-dj32,py39-dj42 + toxenv: py39-dj42 - python: "3.10" - toxenv: py310-dj32,py310-dj42,py310-dj50,py310-djmain + toxenv: py310-dj42,py310-dj50,py311-dj51,py310-djmain - python: "3.11" - toxenv: py311-dj42,py311-dj50,py311-djmain + toxenv: py311-dj42,py311-dj50,py311-dj51,py311-djmain - python: "3.12" toxenv: py312-dj42,py312-djmain steps: diff --git a/docs/getting-started.md b/docs/getting-started.md index d3bd9045..f5ac2d6f 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -17,8 +17,8 @@ poetry add --dev django-pattern-library We support: -- Django 3.2, 4.0, 4.1 (experimental), 4.2 (experimental) -- Python 3.7, 3.8, 3.9, 3.10, 3.11 (experimental) +- Django 4.2, 5.0, 5.1 +- Python 3.9, 3.10, 3.11, 3.12 - Django Templates only, no Jinja support - Modern “evergreen” desktop and mobile browsers diff --git a/poetry.lock b/poetry.lock index f3527ff8..b680e85b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. [[package]] name = "asgiref" @@ -161,19 +161,19 @@ toml = ["tomli"] [[package]] name = "django" -version = "3.2.20" -description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design." +version = "4.2.16" +description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "Django-3.2.20-py3-none-any.whl", hash = "sha256:a477ab326ae7d8807dc25c186b951ab8c7648a3a23f9497763c37307a2b5ef87"}, - {file = "Django-3.2.20.tar.gz", hash = "sha256:dec2a116787b8e14962014bf78e120bba454135108e1af9e9b91ade7b2964c40"}, + {file = "Django-4.2.16-py3-none-any.whl", hash = "sha256:1ddc333a16fc139fd253035a1606bb24261951bbc3a6ca256717fa06cc41a898"}, + {file = "Django-4.2.16.tar.gz", hash = "sha256:6f1616c2786c408ce86ab7e10f792b8f15742f7b7b7460243929cb371e7f1dad"}, ] [package.dependencies] -asgiref = ">=3.3.2,<4" -pytz = "*" -sqlparse = ">=0.2.2" +asgiref = ">=3.6.0,<4" +sqlparse = ">=0.3.1" +tzdata = {version = "*", markers = "sys_platform == \"win32\""} [package.extras] argon2 = ["argon2-cffi (>=19.1.0)"] @@ -485,6 +485,7 @@ optional = false python-versions = ">=3.6" files = [ {file = "mkdocs-redirects-1.2.1.tar.gz", hash = "sha256:9420066d70e2a6bb357adf86e67023dcdca1857f97f07c7fe450f8f1fb42f861"}, + {file = "mkdocs_redirects-1.2.1-py3-none-any.whl", hash = "sha256:497089f9e0219e7389304cffefccdfa1cac5ff9509f2cb706f4c9b221726dffb"}, ] [package.dependencies] @@ -607,17 +608,6 @@ files = [ [package.dependencies] six = ">=1.5" -[[package]] -name = "pytz" -version = "2023.3" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2023.3-py2.py3-none-any.whl", hash = "sha256:a151b3abb88eda1d4e34a9814df37de2a80e301e68ba0fd856fb9b46bfbbbffb"}, - {file = "pytz-2023.3.tar.gz", hash = "sha256:1d8ce29db189191fb55338ee6d0387d82ab59f3d00eac103412d64e0ebd0c588"}, -] - [[package]] name = "pyyaml" version = "6.0.1" @@ -643,6 +633,7 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -762,6 +753,17 @@ files = [ {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, ] +[[package]] +name = "tzdata" +version = "2024.2" +description = "Provider of IANA time zone data" +optional = false +python-versions = ">=2" +files = [ + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, +] + [[package]] name = "watchdog" version = "3.0.0" @@ -818,5 +820,5 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" -python-versions = "^3.8" -content-hash = "7cac0c7e94c98ebffa973f1d5bcfa67339cf857fdb7714e3195c242f52fa591b" +python-versions = "^3.9" +content-hash = "20b1ef0379903c905bc570e6f59b3d061df05dee4e202262bdcba8444cb052d0" diff --git a/pyproject.toml b/pyproject.toml index ef65297e..90551440 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,15 +17,14 @@ classifiers = [ "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Framework :: Django", - "Framework :: Django :: 3.2", - "Framework :: Django :: 4.1", "Framework :: Django :: 4.2", "Framework :: Django :: 5.0", + "Framework :: Django :: 5.1", ] packages = [ { include = "pattern_library" }, @@ -43,8 +42,8 @@ exclude = [ "Issues" = "https://github.com/torchbox/django-pattern-library/issues" [tool.poetry.dependencies] -python = "^3.8" -Django = ">=3.2,<5.1" +python = "^3.9" +Django = ">=4.2,<5.2" PyYAML = ">=5.1,<7.0" Markdown = "^3.1" diff --git a/tox.ini b/tox.ini index 0388a8e0..89ab8961 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] envlist = - py{38,39,310}-dj32 - py{38,39,310,311,312}-dj42 + py{39,310,311,312}-dj42 py{310,311,312}-dj50 + py{310,311,312}-dj51 py{310,311,312}-djmain lint skipsdist = true @@ -17,9 +17,9 @@ commands = poetry run python -X dev -W error runtests.py poetry run django-admin render_patterns --settings=tests.settings.dev --pythonpath=. --dry-run deps = - dj32: Django>=3.2,<3.3 dj42: Django>=4.2,<5.0 dj50: Django>=5.0,<5.1 + dj51: Django>=5.1,<5.2 djmain: https://github.com/django/django/archive/main.zip [testenv:lint]