diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d6c9aa6..dc0675f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,8 +19,8 @@ jobs: needs: checks strategy: matrix: - python-version: [3.6, 3.7, 3.8] - django-version: [2.2.8, 3.0, 3.1] + python-version: ["3.7", "3.8", "3.9", "3.10"] + django-version: ["2.2.8", "3.0", "3.1", "3.2"] steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 diff --git a/docs/about.rst b/docs/about.rst index d0d5837..d16c2d5 100644 --- a/docs/about.rst +++ b/docs/about.rst @@ -8,4 +8,4 @@ django-conditions is a Django app that allows creation of conditional logic in a - In a game, define the winning objectives of a mission/quest - and many more... -django-conditions supports Django 2.2-3.1 and Python 3.6-3.8. +django-conditions supports Django 2.2-3.2 and Python 3.7-3.10. diff --git a/poetry.lock b/poetry.lock index 2e7432a..b956c6e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -6,6 +6,20 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "asgiref" +version = "3.4.1" +description = "ASGI specs, helper code, and adapters" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +typing-extensions = {version = "*", markers = "python_version < \"3.8\""} + +[package.extras] +tests = ["pytest", "pytest-asyncio", "mypy (>=0.800)"] + [[package]] name = "black" version = "20.8b1" @@ -17,7 +31,6 @@ python-versions = ">=3.6" [package.dependencies] appdirs = "*" click = ">=7.1.2" -dataclasses = {version = ">=0.6", markers = "python_version < \"3.7\""} mypy-extensions = ">=0.4.3" pathspec = ">=0.6,<1" regex = ">=2020.1.8" @@ -37,28 +50,21 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -[[package]] -name = "dataclasses" -version = "0.8" -description = "A backport of the dataclasses module for Python 3.6" -category = "dev" -optional = false -python-versions = ">=3.6, <3.7" - [[package]] name = "django" -version = "2.2.18" +version = "3.2.12" description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design." category = "main" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" [package.dependencies] +asgiref = ">=3.3.2,<4" pytz = "*" sqlparse = ">=0.2.2" [package.extras] -argon2 = ["argon2-cffi (>=16.1.0)"] +argon2 = ["argon2-cffi (>=19.1.0)"] bcrypt = ["bcrypt"] [[package]] @@ -195,20 +201,24 @@ python-versions = "*" name = "typing-extensions" version = "3.7.4.3" description = "Backported and Experimental Type Hints for Python 3.5+" -category = "dev" +category = "main" optional = false python-versions = "*" [metadata] lock-version = "1.1" -python-versions = "^3.6.1" -content-hash = "351cd6b49a161ef4b9bae11974a8ccf75251f6a62ac4d2ca1ab80a4c203e0c3a" +python-versions = "^3.7" +content-hash = "96a94105b1688c43beff408c14f6c37931ed59b68c5ddc59ef541ed91a79da35" [metadata.files] appdirs = [ {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, ] +asgiref = [ + {file = "asgiref-3.4.1-py3-none-any.whl", hash = "sha256:ffc141aa908e6f175673e7b1b3b7af4fdb0ecb738fc5c8b88f69f055c2415214"}, + {file = "asgiref-3.4.1.tar.gz", hash = "sha256:4ef1ab46b484e3c706329cedeff284a5d40824200638503f5768edb6de7d58e9"}, +] black = [ {file = "black-20.8b1.tar.gz", hash = "sha256:1c02557aa099101b9d21496f8a914e9ed2222ef70336404eeeac8edba836fbea"}, ] @@ -216,13 +226,9 @@ click = [ {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"}, {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"}, ] -dataclasses = [ - {file = "dataclasses-0.8-py3-none-any.whl", hash = "sha256:0201d89fa866f68c8ebd9d08ee6ff50c0b255f8ec63a71c16fda7af82bb887bf"}, - {file = "dataclasses-0.8.tar.gz", hash = "sha256:8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97"}, -] django = [ - {file = "Django-2.2.18-py3-none-any.whl", hash = "sha256:0eaca08f236bf502a9773e53623f766cc3ceee6453cc41e6de1c8b80f07d2364"}, - {file = "Django-2.2.18.tar.gz", hash = "sha256:c9c994f5e0a032cbd45089798b52e4080f4dea7241c58e3e0636c54146480bb4"}, + {file = "Django-3.2.12-py3-none-any.whl", hash = "sha256:9b06c289f9ba3a8abea16c9c9505f25107809fb933676f6c891ded270039d965"}, + {file = "Django-3.2.12.tar.gz", hash = "sha256:9772e6935703e59e993960832d66a614cf0233a1c5123bc6224ecc6ad69e41e2"}, ] django-jsonfield = [ {file = "django-jsonfield-1.4.1.tar.gz", hash = "sha256:f789a0ea1f80b48aff7d6c36dd356ce125dbf1b7cd97a82d315607ac758f50ff"}, diff --git a/pyproject.toml b/pyproject.toml index 7442332..38cdaf0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ classifiers = [ "Framework :: Django :: 2.2", "Framework :: Django :: 3.0", "Framework :: Django :: 3.1", + "Framework :: Django :: 3.2", "Intended Audience :: Developers", "Operating System :: OS Independent", "Topic :: Internet :: WWW/HTTP", @@ -22,8 +23,8 @@ classifiers = [ ] [tool.poetry.dependencies] -python = "^3.6.1" -Django = ">= 2.2, < 3.2a0" +python = "^3.7" +Django = ">= 2.2, < 4.0a0" django-jsonfield = "^1.1" [tool.poetry.dev-dependencies] @@ -34,7 +35,7 @@ profile = "black" [tool.black] line-length = 88 -target_version = ["py36", "py37", "py38"] +target_version = ["py37", "py38"] [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/runtests.py b/runtests.py index 148c37e..3d6dc65 100755 --- a/runtests.py +++ b/runtests.py @@ -5,6 +5,7 @@ if __name__ == "__main__": settings.configure( + SECRET_KEY="y*8i&l0^b)%l4ymt631e69=78!4uh!=iity6e-c%m2n&2aepxr", DATABASES={ "default": { "NAME": ":memory:",