From 5beb2e1e301fc1e8f63a7df56ef78d1ccff687b1 Mon Sep 17 00:00:00 2001 From: Muhammad Faraz Maqsood Date: Thu, 14 Nov 2024 20:05:07 +0500 Subject: [PATCH] feat: drop Python 3.8 and add Python 3.12 support - Dropped support for Python 3.8 and added support for Python 3.12. - Removed importlib-metadata<7 pin from constraints as it's unpin issue was closed. - Updated pylintrc file with latest version of edx-lint. - Fixed app_label error for model named CourseAllowPIISharingInLTIFlag. - Released a new version. --- .github/workflows/ci.yml | 4 +- CHANGELOG.rst | 7 + README.rst | 2 +- lti_consumer/__init__.py | 2 +- lti_consumer/models.py | 1 + lti_consumer/plugin/views.py | 17 +- lti_consumer/tests/unit/plugin/test_views.py | 27 ++- pylintrc | 5 +- requirements/base.txt | 82 +++++----- requirements/ci.txt | 164 ++++++++----------- requirements/common_constraints.txt | 9 - requirements/dev.txt | 88 +++++----- requirements/pip.txt | 8 +- requirements/pip_tools.txt | 21 +-- requirements/quality.txt | 113 ++++++------- requirements/test.txt | 146 ++++++++--------- requirements/tox.txt | 22 +-- setup.py | 3 +- tox.ini | 2 +- 19 files changed, 341 insertions(+), 382 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c3c75d4d..cb70102b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,8 @@ jobs: matrix: os: [ubuntu-latest] python-version: - - '3.8' - '3.11' + - '3.12' toxenv: [django42, quality] steps: @@ -38,7 +38,7 @@ jobs: run: tox - name: Run Coverage - if: matrix.python-version == '3.8' && matrix.toxenv=='py38-django42' + if: matrix.python-version == '3.11' && matrix.toxenv=='py311-django42' uses: codecov/codecov-action@v1 with: flags: unittests diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 77512030..d7d8d7cf 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -16,6 +16,13 @@ Please See the `releases tab 3.0.0 adds indexing and causes a lot of migrations to be affected django-simple-history==3.0.0 - -# opentelemetry requires version 6.x at the moment: -# https://github.com/open-telemetry/opentelemetry-python/issues/3570 -# Normally this could be added as a constraint in edx-django-utils, where we're -# adding the opentelemetry dependency. However, when we compile pip-tools.txt, -# that uses version 7.x, and then there's no undoing that when compiling base.txt. -# So we need to pin it globally, for now. -# Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407 -importlib-metadata<7 diff --git a/requirements/dev.txt b/requirements/dev.txt index 5e73a357..2d98705b 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -12,33 +12,28 @@ asgiref==3.8.1 # via # -r requirements/base.txt # django -attrs==23.2.0 +attrs==24.2.0 # via -r requirements/base.txt -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -r requirements/base.txt - # django - # djangorestframework -bleach==6.1.0 +bleach==6.2.0 # via -r requirements/base.txt -boto3==1.34.90 +boto3==1.35.60 # via # -r requirements/base.txt # fs-s3fs -botocore==1.34.90 +botocore==1.35.60 # via # -r requirements/base.txt # boto3 # s3transfer -certifi==2024.2.2 +certifi==2024.8.30 # via # -r requirements/base.txt # requests -cffi==1.16.0 +cffi==1.17.1 # via # -r requirements/base.txt # pynacl -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via # -r requirements/base.txt # requests @@ -46,7 +41,7 @@ click==8.1.7 # via # -r requirements/base.txt # edx-django-utils -django==4.2.11 +django==4.2.16 # via # -r requirements/base.txt # django-appconf @@ -71,7 +66,7 @@ django-crum==0.7.9 # via # -r requirements/base.txt # edx-django-utils -django-filter==24.2 +django-filter==24.3 # via -r requirements/base.txt django-statici18n==2.5.0 # via -r requirements/base.txt @@ -79,19 +74,23 @@ django-waffle==4.1.0 # via # -r requirements/base.txt # edx-django-utils -djangorestframework==3.15.1 +djangorestframework==3.15.2 # via # -r requirements/base.txt # django-config-models +dnspython==2.7.0 + # via + # -r requirements/base.txt + # pymongo edx-ccx-keys==1.3.0 # via -r requirements/base.txt -edx-django-utils==5.12.0 +edx-django-utils==7.0.0 # via # -r requirements/base.txt # django-config-models -edx-i18n-tools==1.5.0 +edx-i18n-tools==1.6.3 # via -r requirements/dev.in -edx-opaque-keys[django]==2.8.0 +edx-opaque-keys[django]==2.11.0 # via # -r requirements/base.txt # edx-ccx-keys @@ -109,7 +108,7 @@ future==1.0.0 # via # -r requirements/base.txt # pyjwkest -idna==3.7 +idna==3.10 # via # -r requirements/base.txt # requests @@ -122,39 +121,42 @@ jsonfield==3.1.0 # via -r requirements/base.txt lazy==1.6 # via -r requirements/base.txt -lxml==5.2.1 +lxml[html-clean]==5.3.0 # via # -r requirements/base.txt # edx-i18n-tools + # lxml-html-clean # xblock -mako==1.3.3 +lxml-html-clean==0.4.0 + # via lxml +mako==1.3.6 # via # -r requirements/base.txt # xblock -markupsafe==2.1.5 +markupsafe==3.0.2 # via # -r requirements/base.txt # mako # xblock -newrelic==9.9.0 +newrelic==10.2.0 # via # -r requirements/base.txt # edx-django-utils oauthlib==3.2.2 # via -r requirements/base.txt -openedx-django-pyfs==3.6.0 +openedx-django-pyfs==3.7.0 # via -r requirements/base.txt -openedx-filters==1.8.1 +openedx-filters==1.11.0 # via -r requirements/base.txt -path==16.14.0 +path==16.16.0 # via edx-i18n-tools -pbr==6.0.0 +pbr==6.1.0 # via # -r requirements/base.txt # stevedore polib==1.2.0 # via edx-i18n-tools -psutil==5.9.8 +psutil==6.1.0 # via # -r requirements/base.txt # edx-django-utils @@ -162,13 +164,13 @@ pycparser==2.22 # via # -r requirements/base.txt # cffi -pycryptodomex==3.20.0 +pycryptodomex==3.21.0 # via # -r requirements/base.txt # pyjwkest pyjwkest==1.4.2 # via -r requirements/base.txt -pymongo==3.13.0 +pymongo==4.10.1 # via # -r requirements/base.txt # edx-opaque-keys @@ -181,51 +183,49 @@ python-dateutil==2.9.0.post0 # -r requirements/base.txt # botocore # xblock -pytz==2024.1 +pytz==2024.2 # via # -r requirements/base.txt # xblock -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements/base.txt # edx-i18n-tools # xblock -requests==2.31.0 +requests==2.32.3 # via # -r requirements/base.txt # pyjwkest -s3transfer==0.10.1 +s3transfer==0.10.3 # via # -r requirements/base.txt # boto3 -simplejson==3.19.2 +simplejson==3.19.3 # via # -r requirements/base.txt # xblock six==1.16.0 # via # -r requirements/base.txt - # bleach # edx-ccx-keys # fs # fs-s3fs # pyjwkest # python-dateutil -sqlparse==0.5.0 +sqlparse==0.5.2 # via # -r requirements/base.txt # django -stevedore==5.2.0 +stevedore==5.3.0 # via # -r requirements/base.txt # edx-django-utils # edx-opaque-keys -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # -r requirements/base.txt - # asgiref # edx-opaque-keys -urllib3==1.26.18 +urllib3==1.26.20 # via # -r requirements/base.txt # botocore @@ -238,11 +238,11 @@ webencodings==0.5.1 # via # -r requirements/base.txt # bleach -webob==1.8.7 +webob==1.8.9 # via # -r requirements/base.txt # xblock -xblock==4.0.0 +xblock==5.1.0 # via -r requirements/base.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index e3ffcc7b..828273e9 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,14 +1,14 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -wheel==0.43.0 +wheel==0.45.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==24.0 +pip==24.3.1 # via -r requirements/pip.in -setuptools==69.5.1 +setuptools==75.5.0 # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 4e1105e9..0990b029 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -1,34 +1,23 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -build==1.2.1 +build==1.2.2.post1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==6.11.0 - # via - # -c requirements/common_constraints.txt - # build -packaging==24.0 +packaging==24.2 # via build pip-tools==7.4.1 # via -r requirements/pip_tools.in -pyproject-hooks==1.0.0 - # via - # build - # pip-tools -tomli==2.0.1 +pyproject-hooks==1.2.0 # via # build # pip-tools - # pyproject-hooks -wheel==0.43.0 +wheel==0.45.0 # via pip-tools -zipp==3.18.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/quality.txt b/requirements/quality.txt index 0967d8d4..141fb5db 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -14,42 +14,36 @@ asgiref==3.8.1 # via # -r requirements/base.txt # django -astroid==3.1.0 +astroid==3.3.5 # via # pylint # pylint-celery -attrs==23.2.0 +attrs==24.2.0 # via -r requirements/base.txt -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/base.txt - # django - # djangorestframework binaryornot==0.4.4 # via cookiecutter -bleach==6.1.0 +bleach==6.2.0 # via -r requirements/base.txt -boto3==1.34.90 +boto3==1.35.60 # via # -r requirements/base.txt # fs-s3fs -botocore==1.34.90 +botocore==1.35.60 # via # -r requirements/base.txt # boto3 # s3transfer -certifi==2024.2.2 +certifi==2024.8.30 # via # -r requirements/base.txt # requests -cffi==1.16.0 +cffi==1.17.1 # via # -r requirements/base.txt # pynacl chardet==5.2.0 # via binaryornot -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via # -r requirements/base.txt # requests @@ -69,9 +63,9 @@ cookiecutter==2.6.0 # via xblock-sdk ddt==1.7.2 # via -r requirements/quality.in -dill==0.3.8 +dill==0.3.9 # via pylint -django==4.2.11 +django==4.2.16 # via # -c requirements/common_constraints.txt # -r requirements/base.txt @@ -97,7 +91,7 @@ django-crum==0.7.9 # via # -r requirements/base.txt # edx-django-utils -django-filter==24.2 +django-filter==24.3 # via -r requirements/base.txt django-statici18n==2.5.0 # via -r requirements/base.txt @@ -105,19 +99,23 @@ django-waffle==4.1.0 # via # -r requirements/base.txt # edx-django-utils -djangorestframework==3.15.1 +djangorestframework==3.15.2 # via # -r requirements/base.txt # django-config-models +dnspython==2.7.0 + # via + # -r requirements/base.txt + # pymongo edx-ccx-keys==1.3.0 # via -r requirements/base.txt -edx-django-utils==5.12.0 +edx-django-utils==7.0.0 # via # -r requirements/base.txt # django-config-models -edx-lint==5.3.6 +edx-lint==5.4.1 # via -r requirements/quality.in -edx-opaque-keys[django]==2.8.0 +edx-opaque-keys[django]==2.11.0 # via # -r requirements/base.txt # edx-ccx-keys @@ -136,13 +134,13 @@ future==1.0.0 # via # -r requirements/base.txt # pyjwkest -idna==3.7 +idna==3.10 # via # -r requirements/base.txt # requests isort==5.13.2 # via pylint -jinja2==3.1.3 +jinja2==3.1.4 # via # code-annotations # cookiecutter @@ -155,18 +153,18 @@ jsonfield==3.1.0 # via -r requirements/base.txt lazy==1.6 # via -r requirements/base.txt -lxml==5.2.1 +lxml==5.3.0 # via # -r requirements/base.txt # xblock # xblock-sdk -mako==1.3.3 +mako==1.3.6 # via # -r requirements/base.txt # xblock markdown-it-py==3.0.0 # via rich -markupsafe==2.1.5 +markupsafe==3.0.2 # via # -r requirements/base.txt # jinja2 @@ -176,41 +174,41 @@ mccabe==0.7.0 # via pylint mdurl==0.1.2 # via markdown-it-py -newrelic==9.9.0 +newrelic==10.2.0 # via # -r requirements/base.txt # edx-django-utils oauthlib==3.2.2 # via -r requirements/base.txt -openedx-django-pyfs==3.6.0 +openedx-django-pyfs==3.7.0 # via -r requirements/base.txt -openedx-filters==1.8.1 +openedx-filters==1.11.0 # via -r requirements/base.txt -pbr==6.0.0 +pbr==6.1.0 # via # -r requirements/base.txt # stevedore -platformdirs==4.2.1 +platformdirs==4.3.6 # via pylint -psutil==5.9.8 +psutil==6.1.0 # via # -r requirements/base.txt # edx-django-utils -pycodestyle==2.11.1 +pycodestyle==2.12.1 # via -r requirements/quality.in pycparser==2.22 # via # -r requirements/base.txt # cffi -pycryptodomex==3.20.0 +pycryptodomex==3.21.0 # via # -r requirements/base.txt # pyjwkest -pygments==2.17.2 +pygments==2.18.0 # via rich pyjwkest==1.4.2 # via -r requirements/base.txt -pylint==3.1.0 +pylint==3.3.1 # via # -r requirements/quality.in # edx-lint @@ -219,13 +217,13 @@ pylint==3.1.0 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.5.5 +pylint-django==2.6.1 # via edx-lint pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pymongo==3.13.0 +pymongo==4.10.1 # via # -r requirements/base.txt # edx-opaque-keys @@ -245,29 +243,29 @@ python-slugify==8.0.4 # via # code-annotations # cookiecutter -pytz==2024.1 +pytz==2024.2 # via # -r requirements/base.txt # xblock -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements/base.txt # code-annotations # cookiecutter # xblock -requests==2.31.0 +requests==2.32.3 # via # -r requirements/base.txt # cookiecutter # pyjwkest # xblock-sdk -rich==13.7.1 +rich==13.9.4 # via cookiecutter -s3transfer==0.10.1 +s3transfer==0.10.3 # via # -r requirements/base.txt # boto3 -simplejson==3.19.2 +simplejson==3.19.3 # via # -r requirements/base.txt # xblock @@ -275,18 +273,17 @@ simplejson==3.19.2 six==1.16.0 # via # -r requirements/base.txt - # bleach # edx-ccx-keys # edx-lint # fs # fs-s3fs # pyjwkest # python-dateutil -sqlparse==0.5.0 +sqlparse==0.5.2 # via # -r requirements/base.txt # django -stevedore==5.2.0 +stevedore==5.3.0 # via # -r requirements/base.txt # code-annotations @@ -294,21 +291,15 @@ stevedore==5.2.0 # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomli==2.0.1 +tomlkit==0.13.2 # via pylint -tomlkit==0.12.4 - # via pylint -types-python-dateutil==2.9.0.20240316 +types-python-dateutil==2.9.0.20241003 # via arrow -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # -r requirements/base.txt - # asgiref - # astroid # edx-opaque-keys - # pylint - # rich -urllib3==1.26.18 +urllib3==1.26.20 # via # -c requirements/constraints.txt # -r requirements/base.txt @@ -323,16 +314,16 @@ webencodings==0.5.1 # via # -r requirements/base.txt # bleach -webob==1.8.7 +webob==1.8.9 # via # -r requirements/base.txt # xblock # xblock-sdk -xblock==4.0.0 +xblock==5.1.0 # via # -r requirements/base.txt # xblock-sdk -xblock-sdk==0.11.0 +xblock-sdk==0.12.0 # via -r requirements/quality.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index cf8fb89a..26178ef4 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -14,44 +14,38 @@ asgiref==3.8.1 # via # -r requirements/base.txt # django -astroid==3.1.0 +astroid==3.3.5 # via # pylint # pylint-celery -attrs==23.2.0 +attrs==24.2.0 # via -r requirements/base.txt -backports-tarfile==1.1.1 +backports-tarfile==1.2.0 # via jaraco-context -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/base.txt - # django - # djangorestframework binaryornot==0.4.4 # via cookiecutter -bleach==6.1.0 +bleach==6.2.0 # via -r requirements/base.txt -boto3==1.34.90 +boto3==1.35.60 # via # -r requirements/base.txt # fs-s3fs -botocore==1.34.90 +botocore==1.35.60 # via # -r requirements/base.txt # boto3 # s3transfer -certifi==2024.2.2 +certifi==2024.8.30 # via # -r requirements/base.txt # requests -cffi==1.16.0 +cffi==1.17.1 # via # -r requirements/base.txt # pynacl chardet==5.2.0 # via binaryornot -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via # -r requirements/base.txt # requests @@ -69,15 +63,15 @@ code-annotations==1.8.0 # via edx-lint cookiecutter==2.6.0 # via xblock-sdk -coverage==6.5.0 +coverage[toml]==7.6.4 # via coveralls -coveralls==3.3.1 +coveralls==4.0.1 # via -r requirements/test.in ddt==1.7.2 # via -r requirements/test.in -dill==0.3.8 +dill==0.3.9 # via pylint -django==4.2.11 +django==4.2.16 # via # -c requirements/common_constraints.txt # -r requirements/base.txt @@ -103,7 +97,7 @@ django-crum==0.7.9 # via # -r requirements/base.txt # edx-django-utils -django-filter==24.2 +django-filter==24.3 # via -r requirements/base.txt django-statici18n==2.5.0 # via -r requirements/base.txt @@ -111,24 +105,28 @@ django-waffle==4.1.0 # via # -r requirements/base.txt # edx-django-utils -djangorestframework==3.15.1 +djangorestframework==3.15.2 # via # -r requirements/base.txt # -r requirements/test.in # django-config-models +dnspython==2.7.0 + # via + # -r requirements/base.txt + # pymongo docopt==0.6.2 # via coveralls -docutils==0.20.1 +docutils==0.21.2 # via readme-renderer edx-ccx-keys==1.3.0 # via -r requirements/base.txt -edx-django-utils==5.12.0 +edx-django-utils==7.0.0 # via # -r requirements/base.txt # django-config-models -edx-lint==5.3.6 +edx-lint==5.4.1 # via -r requirements/test.in -edx-opaque-keys[django]==2.8.0 +edx-opaque-keys[django]==2.11.0 # via # -r requirements/base.txt # edx-ccx-keys @@ -147,26 +145,23 @@ future==1.0.0 # via # -r requirements/base.txt # pyjwkest -idna==3.7 +idna==3.10 # via # -r requirements/base.txt # requests -importlib-metadata==6.11.0 +importlib-metadata==8.5.0 # via - # -c requirements/common_constraints.txt # keyring # twine -importlib-resources==6.4.0 - # via keyring isort==5.13.2 # via pylint jaraco-classes==3.4.0 # via keyring -jaraco-context==5.3.0 +jaraco-context==6.0.1 # via keyring -jaraco-functools==4.0.1 +jaraco-functools==4.1.0 # via keyring -jinja2==3.1.3 +jinja2==3.1.4 # via # code-annotations # cookiecutter @@ -177,22 +172,22 @@ jmespath==1.0.1 # botocore jsonfield==3.1.0 # via -r requirements/base.txt -keyring==25.1.0 +keyring==25.5.0 # via twine lazy==1.6 # via -r requirements/base.txt -lxml==5.2.1 +lxml==5.3.0 # via # -r requirements/base.txt # xblock # xblock-sdk -mako==1.3.3 +mako==1.3.6 # via # -r requirements/base.txt # xblock markdown-it-py==3.0.0 # via rich -markupsafe==2.1.5 +markupsafe==3.0.2 # via # -r requirements/base.txt # jinja2 @@ -204,51 +199,51 @@ mdurl==0.1.2 # via markdown-it-py mock==5.1.0 # via -r requirements/test.in -more-itertools==10.2.0 +more-itertools==10.5.0 # via # jaraco-classes # jaraco-functools -newrelic==9.9.0 +newrelic==10.2.0 # via # -r requirements/base.txt # edx-django-utils -nh3==0.2.17 +nh3==0.2.18 # via readme-renderer oauthlib==3.2.2 # via -r requirements/base.txt -openedx-django-pyfs==3.6.0 +openedx-django-pyfs==3.7.0 # via -r requirements/base.txt -openedx-filters==1.8.1 +openedx-filters==1.11.0 # via -r requirements/base.txt -pbr==6.0.0 +pbr==6.1.0 # via # -r requirements/base.txt # stevedore pkginfo==1.10.0 # via twine -platformdirs==4.2.1 +platformdirs==4.3.6 # via pylint -psutil==5.9.8 +psutil==6.1.0 # via # -r requirements/base.txt # edx-django-utils -pycodestyle==2.11.1 +pycodestyle==2.12.1 # via -r requirements/test.in pycparser==2.22 # via # -r requirements/base.txt # cffi -pycryptodomex==3.20.0 +pycryptodomex==3.21.0 # via # -r requirements/base.txt # pyjwkest -pygments==2.17.2 +pygments==2.18.0 # via # readme-renderer # rich pyjwkest==1.4.2 # via -r requirements/base.txt -pylint==3.1.0 +pylint==3.3.1 # via # edx-lint # pylint-celery @@ -256,13 +251,13 @@ pylint==3.1.0 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.5.5 +pylint-django==2.6.1 # via edx-lint pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pymongo==3.13.0 +pymongo==4.10.1 # via # -r requirements/base.txt # edx-opaque-keys @@ -282,21 +277,21 @@ python-slugify==8.0.4 # via # code-annotations # cookiecutter -pytz==2024.1 +pytz==2024.2 # via # -r requirements/base.txt # xblock -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements/base.txt # code-annotations # cookiecutter # xblock -readme-renderer==43.0 +readme-renderer==44.0 # via # -r requirements/test.in # twine -requests==2.31.0 +requests==2.32.3 # via # -r requirements/base.txt # cookiecutter @@ -309,15 +304,15 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==13.7.1 +rich==13.9.4 # via # cookiecutter # twine -s3transfer==0.10.1 +s3transfer==0.10.3 # via # -r requirements/base.txt # boto3 -simplejson==3.19.2 +simplejson==3.19.3 # via # -r requirements/base.txt # xblock @@ -325,18 +320,17 @@ simplejson==3.19.2 six==1.16.0 # via # -r requirements/base.txt - # bleach # edx-ccx-keys # edx-lint # fs # fs-s3fs # pyjwkest # python-dateutil -sqlparse==0.5.0 +sqlparse==0.5.2 # via # -r requirements/base.txt # django -stevedore==5.2.0 +stevedore==5.3.0 # via # -r requirements/base.txt # code-annotations @@ -344,23 +338,17 @@ stevedore==5.2.0 # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomli==2.0.1 - # via pylint -tomlkit==0.12.4 +tomlkit==0.13.2 # via pylint -twine==5.0.0 +twine==5.1.1 # via -r requirements/test.in -types-python-dateutil==2.9.0.20240316 +types-python-dateutil==2.9.0.20241003 # via arrow -typing-extensions==4.11.0 +typing-extensions==4.12.2 # via # -r requirements/base.txt - # asgiref - # astroid # edx-opaque-keys - # pylint - # rich -urllib3==1.26.18 +urllib3==1.26.20 # via # -c requirements/constraints.txt # -r requirements/base.txt @@ -376,21 +364,19 @@ webencodings==0.5.1 # via # -r requirements/base.txt # bleach -webob==1.8.7 +webob==1.8.9 # via # -r requirements/base.txt # xblock # xblock-sdk -xblock==4.0.0 +xblock==5.1.0 # via # -r requirements/base.txt # xblock-sdk -xblock-sdk==0.11.0 +xblock-sdk==0.12.0 # via -r requirements/test.in -zipp==3.18.1 - # via - # importlib-metadata - # importlib-resources +zipp==3.21.0 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/tox.txt b/requirements/tox.txt index b213aa76..fbfdeefd 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -1,38 +1,34 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -cachetools==5.3.3 +cachetools==5.5.0 # via tox chardet==5.2.0 # via tox colorama==0.4.6 # via tox -distlib==0.3.8 +distlib==0.3.9 # via virtualenv -filelock==3.13.4 +filelock==3.16.1 # via # tox # virtualenv -packaging==24.0 +packaging==24.2 # via # pyproject-api # tox -platformdirs==4.2.1 +platformdirs==4.3.6 # via # tox # virtualenv pluggy==1.5.0 # via tox -pyproject-api==1.6.1 +pyproject-api==1.8.0 # via tox -tomli==2.0.1 - # via - # pyproject-api - # tox -tox==4.14.2 +tox==4.23.2 # via -r requirements/tox.in -virtualenv==20.26.0 +virtualenv==20.27.1 # via tox diff --git a/setup.py b/setup.py index 3ff3757f..a5692278 100644 --- a/setup.py +++ b/setup.py @@ -144,6 +144,7 @@ def get_version(file_path): 'License :: OSI Approved :: GNU Affero General Public License v3', 'Natural Language :: English', "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] ) diff --git a/tox.ini b/tox.ini index f0674cca..c3052ec7 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38, 311}-django{42}, quality +envlist = py{311, 312}-django{42}, quality [testenv] allowlist_externals =