diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ff8e5e29..03e4db20 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,12 +13,11 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [ - django32-celery53-drf313, django32-celery53-drflatest, - django42-celery53-drflatest, - quality, docs - ] + python-version: + - '3.8' + - '3.12' + toxenv: [django42-celery53-drflatest, django42-celery53-drflatest, + quality, docs, django42] steps: - uses: actions/checkout@v4 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 88860b36..335a4c83 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,13 @@ Change Log Unreleased ~~~~~~~~~~ +[3.2.0] - 2024-03-12 +~~~~~~~~~~~~~~~~~~~~ + +Added ++++++ +* Adding python 3.12 support. +* Removed django32 support. [3.1.0] - 2023-07-21 ~~~~~~~~~~~~~~~~~~~~ diff --git a/requirements/base.txt b/requirements/base.txt index 3f3600ec..43ec86d4 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,10 +8,12 @@ amqp==5.2.0 # via kombu asgiref==3.7.2 # via django -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # celery # django + # djangorestframework # kombu billiard==4.2.0 # via celery @@ -31,7 +33,7 @@ click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -django==4.2.10 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -40,7 +42,7 @@ django==4.2.10 # drf-yasg django-model-utils==4.4.0 # via -r requirements/base.in -djangorestframework==3.14.0 +djangorestframework==3.15.0 # via # -r requirements/base.in # drf-yasg @@ -50,16 +52,14 @@ inflection==0.5.1 # via drf-yasg kombu==5.3.5 # via celery -packaging==23.2 +packaging==24.0 # via drf-yasg prompt-toolkit==3.0.43 # via click-repl python-dateutil==2.9.0.post0 # via celery pytz==2024.1 - # via - # djangorestframework - # drf-yasg + # via drf-yasg pyyaml==6.0.1 # via drf-yasg six==1.16.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index 88a39ff7..9f335db1 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -16,7 +16,7 @@ filelock==3.13.1 # via # tox # virtualenv -packaging==23.2 +packaging==24.0 # via # pyproject-api # tox @@ -32,7 +32,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.13.0 +tox==4.14.1 # via -r requirements/ci.in virtualenv==20.25.1 # via tox diff --git a/requirements/constraints.txt b/requirements/constraints.txt index f61a3260..fcbfa391 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -13,3 +13,5 @@ -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt celery<6.0 + +backports.zoneinfo;python_version<"3.9" diff --git a/requirements/dev.txt b/requirements/dev.txt index a607be3f..93b20f81 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -17,11 +17,13 @@ astroid==3.1.0 # -r requirements/quality.txt # pylint # pylint-celery -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/test.txt # celery # django + # djangorestframework # kombu billiard==4.2.0 # via @@ -72,7 +74,7 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/quality.txt # edx-lint @@ -80,7 +82,7 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov @@ -92,7 +94,7 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==4.2.10 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt @@ -102,7 +104,7 @@ django==4.2.10 # edx-i18n-tools django-model-utils==4.4.0 # via -r requirements/test.txt -djangorestframework==3.14.0 +djangorestframework==3.15.0 # via # -r requirements/test.txt # drf-yasg @@ -123,8 +125,9 @@ filelock==3.13.1 # -r requirements/ci.txt # tox # virtualenv -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/pip-tools.txt # build inflection==0.5.1 @@ -159,7 +162,7 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -175,7 +178,7 @@ pbr==6.0.0 # via # -r requirements/quality.txt # stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.txt platformdirs==4.2.0 # via @@ -229,7 +232,7 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.1.0 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov @@ -249,7 +252,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/test.txt - # djangorestframework # drf-yasg pyyaml==6.0.1 # via @@ -302,7 +304,7 @@ tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint -tox==4.13.0 +tox==4.14.1 # via -r requirements/ci.txt typing-extensions==4.10.0 # via @@ -335,11 +337,11 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/pip-tools.txt # importlib-metadata diff --git a/requirements/doc.txt b/requirements/doc.txt index 06e00b90..c7115cb1 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -24,11 +24,13 @@ babel==2.14.0 # via # pydata-sphinx-theme # sphinx -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django + # djangorestframework # kombu beautifulsoup4==4.12.3 # via pydata-sphinx-theme @@ -75,7 +77,7 @@ cryptography==42.0.5 # via secretstorage deepmerge==1.1.1 # via sphinxcontrib-openapi -django==4.2.10 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt @@ -86,7 +88,7 @@ django-model-utils==4.4.0 # via -r requirements/base.txt django-rest-swagger==2.2.0 # via -r requirements/doc.in -djangorestframework==3.14.0 +djangorestframework==3.15.0 # via # -r requirements/base.txt # django-rest-swagger @@ -107,12 +109,13 @@ idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # keyring # sphinx # twine -importlib-resources==6.1.2 +importlib-resources==6.3.1 # via # jsonschema # jsonschema-specifications @@ -157,7 +160,7 @@ nh3==0.2.15 # via readme-renderer openapi-codec==1.3.2 # via django-rest-swagger -packaging==23.2 +packaging==24.0 # via # -r requirements/base.txt # drf-yasg @@ -196,7 +199,6 @@ pytz==2024.1 # via # -r requirements/base.txt # babel - # djangorestframework # drf-yasg pyyaml==6.0.1 # via @@ -205,7 +207,7 @@ pyyaml==6.0.1 # sphinxcontrib-openapi readme-renderer==43.0 # via twine -referencing==0.33.0 +referencing==0.34.0 # via # jsonschema # jsonschema-specifications @@ -310,7 +312,7 @@ wcwidth==0.2.13 # via # -r requirements/base.txt # prompt-toolkit -zipp==3.17.0 +zipp==3.18.1 # via # importlib-metadata # importlib-resources diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 8528adba..aad9d382 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -8,11 +8,13 @@ build==1.1.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 - # via build -packaging==23.2 +importlib-metadata==6.11.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # build +packaging==24.0 # via build -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via @@ -23,9 +25,9 @@ tomli==2.0.1 # build # pip-tools # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 66656035..cf449024 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.42.0 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.1.1 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index bd1b0a6b..30c9ce65 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -15,7 +15,7 @@ click==8.1.7 # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.6.0 +code-annotations==1.7.0 # via edx-lint dill==0.3.8 # via pylint diff --git a/requirements/test.txt b/requirements/test.txt index 35c2ff71..0ba65b1e 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -12,11 +12,13 @@ asgiref==3.7.2 # via # -r requirements/base.txt # django -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django + # djangorestframework # kombu billiard==4.2.0 # via @@ -45,7 +47,7 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt @@ -74,7 +76,7 @@ kombu==5.3.5 # celery mock==5.1.0 # via -r requirements/test.in -packaging==23.2 +packaging==24.0 # via # -r requirements/base.txt # -r requirements/test.in @@ -86,7 +88,7 @@ prompt-toolkit==3.0.43 # via # -r requirements/base.txt # click-repl -pytest==8.1.0 +pytest==8.1.1 # via # pytest-cov # pytest-django @@ -101,7 +103,6 @@ python-dateutil==2.9.0.post0 pytz==2024.1 # via # -r requirements/base.txt - # djangorestframework # drf-yasg pyyaml==6.0.1 # via diff --git a/setup.py b/setup.py index fb3418a8..5ac6cf2c 100644 --- a/setup.py +++ b/setup.py @@ -119,12 +119,12 @@ def is_requirement(line): classifiers=[ 'Development Status :: 4 - Beta', 'Framework :: Django', - 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: Apache Software License', 'Natural Language :: English', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.12', ], ) diff --git a/tox.ini b/tox.ini index d70c7231..17aa2684 100644 --- a/tox.ini +++ b/tox.ini @@ -1,26 +1,25 @@ [tox] -envlist = - py38-django{32,42}-celery{53}-drf{313,latest} +envlist = + py{38,312}-django{42}-celery{53}-drf{313,latest} quality docs - [testenv] -deps = - django32: Django>=3.2,<4.0 +deps = django42: Django>=4.2,<4.3 - drf313: djangorestframework>=3.13,<3.14 drflatest: djangorestframework -r{toxinidir}/requirements/test.txt -commands = +commands = python -Wd -m pytest --cov user_tasks {posargs} [testenv:docs] -allowlist_externals = +allowlist_externals = make rm deps = + setuptools + wheel -r{toxinidir}/requirements/doc.txt -commands = +commands = doc8 --ignore-path docs/_build --ignore-path docs/rest_api.rst README.rst docs rm -f docs/user_tasks.rst rm -f docs/modules.rst @@ -30,15 +29,15 @@ commands = twine check dist/* [testenv:quality] -allowlist_externals = +allowlist_externals = make rm touch -deps = +deps = -r{toxinidir}/requirements/doc.txt -r{toxinidir}/requirements/quality.txt -r{toxinidir}/requirements/test.txt -commands = +commands = touch tests/__init__.py pylint user_tasks pylint tests diff --git a/user_tasks/__init__.py b/user_tasks/__init__.py index 3bcf3a89..32102bd5 100644 --- a/user_tasks/__init__.py +++ b/user_tasks/__init__.py @@ -4,7 +4,7 @@ from django.dispatch import Signal -__version__ = '3.1.0' +__version__ = '3.2.0' # This signal is emitted when a user task reaches any final state: