diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 866daadc..9285af0e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,11 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [quality, docs, pii_check, django32, django42] + python-version: + - '3.8' + - '3.11' + - '3.12' + toxenv: [quality, docs, pii_check, django42] steps: - uses: actions/checkout@v4 - name: setup python diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fc04cf37..c6b32097 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,11 @@ Change Log Unreleased ~~~~~~~~~~ +[5.2.0] - 2024-03-31 +-------------------- + +* Added python3.11 and 3.12 support. Dropped django32 support. + [5.1.1] - 2024-01-31 -------------------- diff --git a/Makefile b/Makefile index 9b43f275..72d51401 100644 --- a/Makefile +++ b/Makefile @@ -38,8 +38,13 @@ docs: ## generate Sphinx HTML documentation, including API docs tox -e docs $(BROWSER) docs/_build/html/index.html +COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt +.PHONY: $(COMMON_CONSTRAINTS_TXT) +$(COMMON_CONSTRAINTS_TXT): + wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)" + upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade -upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in +upgrade: $(COMMON_CONSTRAINTS_TXT) # update the requirements/*.txt files with the latest packages satisfying requirements/*.in pip install -qr requirements/pip-tools.txt # Make sure to compile files after any other files they include! pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in diff --git a/edx_toggles/__init__.py b/edx_toggles/__init__.py index 133fd408..dcaced9f 100644 --- a/edx_toggles/__init__.py +++ b/edx_toggles/__init__.py @@ -2,4 +2,4 @@ Library and utilities for feature toggles. """ -__version__ = '5.1.1' +__version__ = '5.2.0' diff --git a/requirements/base.txt b/requirements/base.txt index 130ca810..7eb96c7a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,19 +4,21 @@ # # make upgrade # -asgiref==3.7.2 - # via django -backports-zoneinfo==0.2.1 +asgiref==3.8.1 # via django +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django cffi==1.16.0 # via pynacl click==8.1.7 # via # code-annotations # edx-django-utils -code-annotations==1.6.0 +code-annotations==1.7.0 # via -r requirements/base.in -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 @@ -31,19 +33,19 @@ django-waffle==4.1.0 # via # -r requirements/base.in # edx-django-utils -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/base.in jinja2==3.1.3 # via code-annotations markupsafe==2.1.5 # via jinja2 -newrelic==9.7.0 +newrelic==9.8.0 # via edx-django-utils pbr==6.0.0 # via stevedore psutil==5.9.8 # via edx-django-utils -pycparser==2.21 +pycparser==2.22 # via cffi pynacl==1.5.0 # via edx-django-utils diff --git a/requirements/ci.txt b/requirements/ci.txt index 88a39ff7..c085cbcf 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -12,11 +12,11 @@ colorama==0.4.6 # via tox distlib==0.3.8 # via virtualenv -filelock==3.13.1 +filelock==3.13.3 # 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.2 # via -r requirements/ci.in virtualenv==20.25.1 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt new file mode 100644 index 00000000..e3bf8eae --- /dev/null +++ b/requirements/common_constraints.txt @@ -0,0 +1,32 @@ +# A central location for most common version constraints +# (across edx repos) for pip-installation. +# +# Similar to other constraint files this file doesn't install any packages. +# It specifies version constraints that will be applied if a package is needed. +# When pinning something here, please provide an explanation of why it is a good +# idea to pin this package across all edx repos, Ideally, link to other information +# that will help people in the future to remove the pin when possible. +# Writing an issue against the offending project and linking to it here is good. +# +# Note: Changes to this file will automatically be used by other repos, referencing +# this file from Github directly. It does not require packaging in edx-lint. + + +# using LTS django version +Django<5.0 + +# elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. +# elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html +elasticsearch<7.14.0 + +# django-simple-history>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/constraints.txt b/requirements/constraints.txt index d91704bb..8ed6e0e0 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -10,3 +10,6 @@ # Common constraints for edx repos -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + +# temporary condition +backports.zoneinfo;python_version<"3.9" diff --git a/requirements/dev.txt b/requirements/dev.txt index b3fdb616..56558a92 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,7 +4,7 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/quality.txt # django @@ -15,15 +15,16 @@ astroid==3.1.0 # pylint-celery atlassian-python-api==3.41.11 # via -r requirements/quality.txt -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/quality.txt # django beautifulsoup4==4.12.3 # via # -r requirements/quality.txt # atlassian-python-api -build==1.1.1 +build==1.2.1 # via # -r requirements/pip-tools.txt # pip-tools @@ -61,7 +62,7 @@ click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/quality.txt # edx-lint @@ -69,7 +70,7 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/quality.txt # pytest-cov @@ -87,7 +88,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/quality.txt @@ -103,7 +104,7 @@ django-waffle==4.1.0 # via # -r requirements/quality.txt # edx-django-utils -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/quality.txt edx-i18n-tools==1.3.0 # via -r requirements/dev.in @@ -113,7 +114,7 @@ exceptiongroup==1.2.0 # via # -r requirements/quality.txt # pytest -filelock==3.13.1 +filelock==3.13.3 # via # -r requirements/ci.txt # tox @@ -122,8 +123,9 @@ idna==3.6 # via # -r requirements/quality.txt # requests -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 iniconfig==2.0.0 @@ -143,7 +145,7 @@ jmespath==1.0.1 # via # -r requirements/quality.txt # atlassian-python-api -lxml==5.1.0 +lxml==5.2.0 # via edx-i18n-tools markupsafe==2.1.5 # via @@ -153,7 +155,7 @@ mccabe==0.7.0 # via # -r requirements/quality.txt # pylint -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/quality.txt # edx-django-utils @@ -162,7 +164,7 @@ oauthlib==3.2.2 # -r requirements/quality.txt # atlassian-python-api # requests-oauthlib -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -177,7 +179,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 @@ -201,7 +203,7 @@ psutil==5.9.8 # edx-django-utils pycodestyle==2.11.1 # via -r requirements/quality.txt -pycparser==2.21 +pycparser==2.22 # via # -r requirements/quality.txt # cffi @@ -242,12 +244,12 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/quality.txt # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/quality.txt pytest-django==4.8.0 # via -r requirements/quality.txt @@ -265,7 +267,7 @@ requests==2.31.0 # -r requirements/quality.txt # atlassian-python-api # requests-oauthlib -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via # -r requirements/quality.txt # atlassian-python-api @@ -312,7 +314,7 @@ tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint -tox==4.13.0 +tox==4.14.2 # via -r requirements/ci.txt typing-extensions==4.10.0 # via @@ -328,7 +330,7 @@ virtualenv==20.25.1 # via # -r requirements/ci.txt # tox -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools @@ -336,7 +338,7 @@ wrapt==1.16.0 # via # -r requirements/quality.txt # deprecated -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 f0305c90..61babd69 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -8,7 +8,7 @@ accessible-pygments==0.0.4 # via pydata-sphinx-theme alabaster==0.7.13 # via sphinx -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/test.txt # django @@ -18,8 +18,9 @@ babel==2.14.0 # via # pydata-sphinx-theme # sphinx -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/test.txt # django beautifulsoup4==4.12.3 @@ -27,7 +28,7 @@ beautifulsoup4==4.12.3 # -r requirements/test.txt # atlassian-python-api # pydata-sphinx-theme -build==1.1.1 +build==1.2.1 # via -r requirements/doc.in certifi==2024.2.2 # via @@ -36,7 +37,6 @@ certifi==2024.2.2 cffi==1.16.0 # via # -r requirements/test.txt - # cryptography # pynacl charset-normalizer==3.3.2 # via @@ -47,19 +47,17 @@ click==8.1.7 # -r requirements/test.txt # code-annotations # edx-django-utils -code-annotations==1.6.0 +code-annotations==1.7.0 # via -r requirements/test.txt -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.5 - # via secretstorage deprecated==1.2.14 # via # -r requirements/test.txt # atlassian-python-api -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 @@ -83,7 +81,7 @@ docutils==0.19 # readme-renderer # restructuredtext-lint # sphinx -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/test.txt exceptiongroup==1.2.0 # via @@ -95,24 +93,25 @@ idna==3.6 # 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 # build # keyring # sphinx # twine -importlib-resources==6.1.2 +importlib-resources==6.4.0 # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -jaraco-classes==3.3.1 +jaraco-classes==3.4.0 + # via keyring +jaraco-context==4.3.0 + # via keyring +jaraco-functools==4.0.0 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via # -r requirements/test.txt @@ -122,7 +121,7 @@ jmespath==1.0.1 # via # -r requirements/test.txt # atlassian-python-api -keyring==24.3.1 +keyring==25.0.0 # via twine markdown-it-py==3.0.0 # via rich @@ -133,19 +132,21 @@ markupsafe==2.1.5 mdurl==0.1.2 # via markdown-it-py more-itertools==10.2.0 - # via jaraco-classes -newrelic==9.7.0 + # via + # jaraco-classes + # jaraco-functools +newrelic==9.8.0 # via # -r requirements/test.txt # edx-django-utils -nh3==0.2.15 +nh3==0.2.17 # via readme-renderer oauthlib==3.2.2 # via # -r requirements/test.txt # atlassian-python-api # requests-oauthlib -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # build @@ -156,7 +157,7 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine pluggy==1.4.0 # via @@ -166,7 +167,7 @@ psutil==5.9.8 # via # -r requirements/test.txt # edx-django-utils -pycparser==2.21 +pycparser==2.22 # via # -r requirements/test.txt # cffi @@ -186,12 +187,12 @@ pynacl==1.5.0 # edx-django-utils pyproject-hooks==1.0.0 # via build -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.txt pytest-django==4.8.0 # via -r requirements/test.txt @@ -215,7 +216,7 @@ requests==2.31.0 # requests-toolbelt # sphinx # twine -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via # -r requirements/test.txt # atlassian-python-api @@ -227,8 +228,6 @@ rfc3986==2.0.0 # via twine rich==13.7.1 # via twine -secretstorage==3.3.3 - # via keyring six==1.16.0 # via # -r requirements/test.txt @@ -297,7 +296,7 @@ wrapt==1.16.0 # via # -r requirements/test.txt # deprecated -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..748bf44e 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,15 +4,17 @@ # # make upgrade # -build==1.1.1 +build==1.2.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 e405e277..8ed5d6a8 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,7 +4,7 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/test.txt # django @@ -14,8 +14,9 @@ astroid==3.1.0 # pylint-celery atlassian-python-api==3.41.11 # via -r requirements/test.txt -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/test.txt # django beautifulsoup4==4.12.3 @@ -43,11 +44,11 @@ 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 # -r requirements/test.txt # edx-lint -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov @@ -57,7 +58,7 @@ deprecated==1.2.14 # atlassian-python-api dill==0.3.8 # via pylint -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 @@ -72,7 +73,7 @@ django-waffle==4.1.0 # via # -r requirements/test.txt # edx-django-utils -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/test.txt edx-lint==5.3.6 # via -r requirements/quality.in @@ -106,7 +107,7 @@ markupsafe==2.1.5 # jinja2 mccabe==0.7.0 # via pylint -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/test.txt # edx-django-utils @@ -115,7 +116,7 @@ oauthlib==3.2.2 # -r requirements/test.txt # atlassian-python-api # requests-oauthlib -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pytest @@ -135,7 +136,7 @@ psutil==5.9.8 # edx-django-utils pycodestyle==2.11.1 # via -r requirements/quality.in -pycparser==2.21 +pycparser==2.22 # via # -r requirements/test.txt # cffi @@ -159,12 +160,12 @@ pynacl==1.5.0 # via # -r requirements/test.txt # edx-django-utils -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.txt pytest-django==4.8.0 # via -r requirements/test.txt @@ -181,7 +182,7 @@ requests==2.31.0 # -r requirements/test.txt # atlassian-python-api # requests-oauthlib -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via # -r requirements/test.txt # atlassian-python-api diff --git a/requirements/scripts.txt b/requirements/scripts.txt index 6ff56b08..a02ce4bc 100644 --- a/requirements/scripts.txt +++ b/requirements/scripts.txt @@ -4,14 +4,15 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django atlassian-python-api==3.41.11 # via -r requirements/scripts.in -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # django beautifulsoup4==4.12.3 @@ -29,13 +30,13 @@ click==8.1.7 # -r requirements/base.txt # code-annotations # edx-django-utils -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/base.txt # -r requirements/scripts.in deprecated==1.2.14 # via atlassian-python-api -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 @@ -50,7 +51,7 @@ django-waffle==4.1.0 # via # -r requirements/base.txt # edx-django-utils -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/base.txt idna==3.6 # via requests @@ -64,7 +65,7 @@ markupsafe==2.1.5 # via # -r requirements/base.txt # jinja2 -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/base.txt # edx-django-utils @@ -80,7 +81,7 @@ psutil==5.9.8 # via # -r requirements/base.txt # edx-django-utils -pycparser==2.21 +pycparser==2.22 # via # -r requirements/base.txt # cffi @@ -100,7 +101,7 @@ requests==2.31.0 # via # atlassian-python-api # requests-oauthlib -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via atlassian-python-api six==1.16.0 # via atlassian-python-api diff --git a/requirements/test.txt b/requirements/test.txt index a8a654eb..f0d7718f 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,15 +4,16 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # -r requirements/scripts.txt # django atlassian-python-api==3.41.11 # via -r requirements/scripts.txt -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # -r requirements/scripts.txt # django @@ -39,12 +40,12 @@ click==8.1.7 # -r requirements/scripts.txt # code-annotations # edx-django-utils -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/base.txt # -r requirements/scripts.txt # -r requirements/test.in -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov deprecated==1.2.14 # via @@ -67,7 +68,7 @@ django-waffle==4.1.0 # -r requirements/base.txt # -r requirements/scripts.txt # edx-django-utils -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via # -r requirements/base.txt # -r requirements/scripts.txt @@ -93,7 +94,7 @@ markupsafe==2.1.5 # -r requirements/base.txt # -r requirements/scripts.txt # jinja2 -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/base.txt # -r requirements/scripts.txt @@ -103,7 +104,7 @@ oauthlib==3.2.2 # -r requirements/scripts.txt # atlassian-python-api # requests-oauthlib -packaging==23.2 +packaging==24.0 # via pytest pbr==6.0.0 # via @@ -117,7 +118,7 @@ psutil==5.9.8 # -r requirements/base.txt # -r requirements/scripts.txt # edx-django-utils -pycparser==2.21 +pycparser==2.22 # via # -r requirements/base.txt # -r requirements/scripts.txt @@ -127,11 +128,11 @@ pynacl==1.5.0 # -r requirements/base.txt # -r requirements/scripts.txt # edx-django-utils -pytest==8.0.2 +pytest==8.1.1 # via # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in @@ -150,7 +151,7 @@ requests==2.31.0 # -r requirements/scripts.txt # atlassian-python-api # requests-oauthlib -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via # -r requirements/scripts.txt # atlassian-python-api diff --git a/scripts/renderers.py b/scripts/renderers.py index d91d65cb..11021e3d 100644 --- a/scripts/renderers.py +++ b/scripts/renderers.py @@ -7,7 +7,7 @@ import re import csv import logging -from collections import OrderedDict, defaultdict, Hashable +from collections import OrderedDict, defaultdict import click import jinja2 diff --git a/setup.py b/setup.py index 663b1af4..89de6b0d 100644 --- a/setup.py +++ b/setup.py @@ -122,12 +122,13 @@ def is_requirement(line): classifiers=[ 'Development Status :: 3 - Alpha', 'Framework :: Django', - 'Framework :: Django :: 3.2', - 'Framework :: Django :: 4.0', + 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', '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 15699c04..484fcd44 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38-django{32,42},quality, docs, pii_check +envlist = py{38, 311, 312}-django{42},quality, docs, pii_check [doc8] ; D001 = Line too long @@ -36,7 +36,6 @@ norecursedirs = .* docs requirements [testenv] deps = - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt commands = @@ -66,7 +65,8 @@ allowlist_externals = make rm touch -deps = +deps = + setuptools -r{toxinidir}/requirements/quality.txt commands = pylint edx_toggles test_utils manage.py setup.py