diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 54d1e80..70a9428 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,8 +14,8 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [quality, docs, without-django, django32, django42] + python-version: ['3.8','3.12'] + toxenv: [quality, docs, without-django, django42] steps: - uses: actions/checkout@v2 diff --git a/opaque_keys/__init__.py b/opaque_keys/__init__.py index 1b7fec6..59c2ad6 100644 --- a/opaque_keys/__init__.py +++ b/opaque_keys/__init__.py @@ -14,7 +14,7 @@ from stevedore.enabled import EnabledExtensionManager from typing_extensions import Self # For python 3.11 plus, can just use "from typing import Self" -__version__ = '2.5.1' +__version__ = '2.6.1' class InvalidKeyError(Exception): diff --git a/requirements/base.txt b/requirements/base.txt index 5568ae2..66b3d6b 100644 --- a/requirements/base.txt +++ b/requirements/base.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.12 # by the following command: # # make upgrade diff --git a/requirements/ci.txt b/requirements/ci.txt index 06db795..5760667 100644 --- a/requirements/ci.txt +++ b/requirements/ci.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.12 # by the following command: # # make upgrade @@ -26,8 +26,6 @@ py==1.11.0 # via tox six==1.16.0 # via tox -tomli==2.0.1 - # via tox tox==3.28.0 # via -r requirements/ci.in virtualenv==20.25.0 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 8ff4d51..82a8f31 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -12,7 +12,11 @@ -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # pytest>=5.6.0 fails to fetch the tests and hence all the tests fail -pytest<5.6.0 +pytest>= 6.2.5 +alabaster<=0.7.13 +pydata-sphinx-theme<=0.14.4 +sphinx<=7.1.2 +sphinx-book-theme<=1.0.1 pytest-xdist<2.0.0 diff --git a/requirements/dev.txt b/requirements/dev.txt index 4a5e92d..027cd06 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.12 # by the following command: # # make upgrade @@ -10,6 +10,7 @@ accessible-pygments==0.0.4 # pydata-sphinx-theme alabaster==0.7.13 # via + # -c requirements/constraints.txt # -r requirements/doc.txt # sphinx astroid==3.0.3 @@ -21,7 +22,6 @@ attrs==23.2.0 # via # -r requirements/doc.txt # hypothesis - # pytest babel==2.14.0 # via # -r requirements/doc.txt @@ -83,10 +83,6 @@ docutils==0.19 # sphinx edx-lint==5.3.6 # via -r requirements/doc.txt -exceptiongroup==1.2.0 - # via - # -r requirements/doc.txt - # hypothesis execnet==2.0.2 # via # -r requirements/doc.txt @@ -96,7 +92,7 @@ filelock==3.13.1 # -r requirements/ci.txt # tox # virtualenv -hypothesis==6.98.3 +hypothesis==6.98.6 # via -r requirements/doc.txt idna==3.6 # via @@ -106,12 +102,10 @@ imagesize==1.4.1 # via # -r requirements/doc.txt # sphinx -importlib-metadata==7.0.1 +iniconfig==2.0.0 # via # -r requirements/doc.txt - # -r requirements/pip-tools.txt - # build - # sphinx + # pytest isort==5.13.2 # via # -r requirements/doc.txt @@ -131,10 +125,6 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/doc.txt -more-itertools==10.2.0 - # via - # -r requirements/doc.txt - # pytest mypy==1.8.0 # via -r requirements/doc.txt mypy-extensions==1.0.0 @@ -178,13 +168,13 @@ py==1.11.0 # via # -r requirements/ci.txt # -r requirements/doc.txt - # pytest # pytest-forked # tox pycodestyle==2.11.1 # via -r requirements/doc.txt pydata-sphinx-theme==0.14.4 # via + # -c requirements/constraints.txt # -r requirements/doc.txt # sphinx-book-theme pygments==2.17.2 @@ -220,7 +210,7 @@ pyproject-hooks==1.0.0 # via # -r requirements/pip-tools.txt # build -pytest==5.4.3 +pytest==7.4.4 # via # -c requirements/constraints.txt # -r requirements/doc.txt @@ -241,10 +231,6 @@ python-slugify==8.0.4 # via # -r requirements/doc.txt # code-annotations -pytz==2024.1 - # via - # -r requirements/doc.txt - # babel pyyaml==6.0.1 # via # -r requirements/doc.txt @@ -276,20 +262,23 @@ soupsieve==2.5 # beautifulsoup4 sphinx==6.2.1 # via + # -c requirements/constraints.txt # -r requirements/doc.txt # pydata-sphinx-theme # sphinx-book-theme sphinx-book-theme==1.0.1 - # via -r requirements/doc.txt -sphinxcontrib-applehelp==1.0.4 + # via + # -c requirements/constraints.txt + # -r requirements/doc.txt +sphinxcontrib-applehelp==1.0.8 # via # -r requirements/doc.txt # sphinx -sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-devhelp==1.0.6 # via # -r requirements/doc.txt # sphinx -sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-htmlhelp==2.0.5 # via # -r requirements/doc.txt # sphinx @@ -297,11 +286,11 @@ sphinxcontrib-jsmath==1.0.1 # via # -r requirements/doc.txt # sphinx -sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-qthelp==1.0.7 # via # -r requirements/doc.txt # sphinx -sphinxcontrib-serializinghtml==1.1.5 +sphinxcontrib-serializinghtml==1.1.10 # via # -r requirements/doc.txt # sphinx @@ -313,18 +302,6 @@ text-unidecode==1.3 # via # -r requirements/doc.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/ci.txt - # -r requirements/doc.txt - # -r requirements/pip-tools.txt - # build - # coverage - # mypy - # pip-tools - # pylint - # pyproject-hooks - # tox tomlkit==0.12.3 # via # -r requirements/doc.txt @@ -334,10 +311,8 @@ tox==3.28.0 typing-extensions==4.9.0 # via # -r requirements/doc.txt - # astroid # mypy # pydata-sphinx-theme - # pylint urllib3==2.2.0 # via # -r requirements/doc.txt @@ -346,19 +321,10 @@ virtualenv==20.25.0 # via # -r requirements/ci.txt # tox -wcwidth==0.2.13 - # via - # -r requirements/doc.txt - # pytest wheel==0.42.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 - # via - # -r requirements/doc.txt - # -r requirements/pip-tools.txt - # importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/django-test.txt b/requirements/django-test.txt index 7396d29..b01a2e2 100644 --- a/requirements/django-test.txt +++ b/requirements/django-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.12 # by the following command: # # make upgrade @@ -13,7 +13,6 @@ attrs==23.2.0 # via # -r requirements/test.txt # hypothesis - # pytest click==8.1.7 # via # -r requirements/test.txt @@ -41,16 +40,16 @@ dill==0.3.8 # pylint edx-lint==5.3.6 # via -r requirements/test.txt -exceptiongroup==1.2.0 - # via - # -r requirements/test.txt - # hypothesis execnet==2.0.2 # via # -r requirements/test.txt # pytest-xdist -hypothesis==6.98.3 +hypothesis==6.98.6 # via -r requirements/test.txt +iniconfig==2.0.0 + # via + # -r requirements/test.txt + # pytest isort==5.13.2 # via # -r requirements/test.txt @@ -69,10 +68,6 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/test.txt -more-itertools==10.2.0 - # via - # -r requirements/test.txt - # pytest mypy==1.8.0 # via -r requirements/test.txt mypy-extensions==1.0.0 @@ -99,7 +94,6 @@ pluggy==0.13.1 py==1.11.0 # via # -r requirements/test.txt - # pytest # pytest-forked pycodestyle==2.11.1 # via -r requirements/test.txt @@ -125,7 +119,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pymongo==3.13.0 # via -r requirements/test.txt -pytest==5.4.3 +pytest==7.4.4 # via # -c requirements/constraints.txt # -r requirements/test.txt @@ -135,7 +129,7 @@ pytest==5.4.3 # pytest-xdist pytest-cov==4.1.0 # via -r requirements/test.txt -pytest-django==4.5.2 +pytest-django==4.8.0 # via -r requirements/django-test.in pytest-forked==1.6.0 # via @@ -170,12 +164,6 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # coverage - # mypy - # pylint tomlkit==0.12.3 # via # -r requirements/test.txt @@ -183,10 +171,4 @@ tomlkit==0.12.3 typing-extensions==4.9.0 # via # -r requirements/test.txt - # astroid # mypy - # pylint -wcwidth==0.2.13 - # via - # -r requirements/test.txt - # pytest diff --git a/requirements/django.txt b/requirements/django.txt index c52b940..9ab7f50 100644 --- a/requirements/django.txt +++ b/requirements/django.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.12 # by the following command: # # make upgrade diff --git a/requirements/doc.txt b/requirements/doc.txt index 10b33a5..c01705c 100644 --- a/requirements/doc.txt +++ b/requirements/doc.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.12 # by the following command: # # make upgrade @@ -7,7 +7,9 @@ accessible-pygments==0.0.4 # via pydata-sphinx-theme alabaster==0.7.13 - # via sphinx + # via + # -c requirements/constraints.txt + # sphinx astroid==3.0.3 # via # -r requirements/test.txt @@ -17,7 +19,6 @@ attrs==23.2.0 # via # -r requirements/test.txt # hypothesis - # pytest babel==2.14.0 # via # pydata-sphinx-theme @@ -60,22 +61,20 @@ docutils==0.19 # sphinx edx-lint==5.3.6 # via -r requirements/test.txt -exceptiongroup==1.2.0 - # via - # -r requirements/test.txt - # hypothesis execnet==2.0.2 # via # -r requirements/test.txt # pytest-xdist -hypothesis==6.98.3 +hypothesis==6.98.6 # via -r requirements/test.txt idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.1 - # via sphinx +iniconfig==2.0.0 + # via + # -r requirements/test.txt + # pytest isort==5.13.2 # via # -r requirements/test.txt @@ -95,10 +94,6 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/test.txt -more-itertools==10.2.0 - # via - # -r requirements/test.txt - # pytest mypy==1.8.0 # via -r requirements/test.txt mypy-extensions==1.0.0 @@ -129,12 +124,13 @@ pluggy==0.13.1 py==1.11.0 # via # -r requirements/test.txt - # pytest # pytest-forked pycodestyle==2.11.1 # via -r requirements/test.txt pydata-sphinx-theme==0.14.4 - # via sphinx-book-theme + # via + # -c requirements/constraints.txt + # sphinx-book-theme pygments==2.17.2 # via # accessible-pygments @@ -163,7 +159,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pymongo==3.13.0 # via -r requirements/test.txt -pytest==5.4.3 +pytest==7.4.4 # via # -c requirements/constraints.txt # -r requirements/test.txt @@ -184,8 +180,6 @@ python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2024.1 - # via babel pyyaml==6.0.1 # via # -r requirements/test.txt @@ -209,22 +203,25 @@ soupsieve==2.5 # via beautifulsoup4 sphinx==6.2.1 # via + # -c requirements/constraints.txt # -r requirements/doc.in # pydata-sphinx-theme # sphinx-book-theme sphinx-book-theme==1.0.1 - # via -r requirements/doc.in -sphinxcontrib-applehelp==1.0.4 + # via + # -c requirements/constraints.txt + # -r requirements/doc.in +sphinxcontrib-applehelp==1.0.8 # via sphinx -sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-devhelp==1.0.6 # via sphinx -sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-htmlhelp==2.0.5 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-qthelp==1.0.7 # via sphinx -sphinxcontrib-serializinghtml==1.1.5 +sphinxcontrib-serializinghtml==1.1.10 # via sphinx stevedore==5.1.0 # via @@ -234,12 +231,6 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # coverage - # mypy - # pylint tomlkit==0.12.3 # via # -r requirements/test.txt @@ -247,15 +238,7 @@ tomlkit==0.12.3 typing-extensions==4.9.0 # via # -r requirements/test.txt - # astroid # mypy # pydata-sphinx-theme - # pylint urllib3==2.2.0 # via requests -wcwidth==0.2.13 - # via - # -r requirements/test.txt - # pytest -zipp==3.17.0 - # via importlib-metadata diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 0e88226..b4998f8 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.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.12 # by the following command: # # make upgrade @@ -8,23 +8,14 @@ build==1.0.3 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 - # via build packaging==23.2 # via build pip-tools==7.3.0 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via build -tomli==2.0.1 - # via - # build - # pip-tools - # pyproject-hooks wheel==0.42.0 # via pip-tools -zipp==3.17.0 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/pip.txt b/requirements/pip.txt index dfa2b77..4cfa72f 100644 --- a/requirements/pip.txt +++ b/requirements/pip.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.12 # by the following command: # # make upgrade @@ -10,5 +10,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.0.3 +setuptools==69.1.0 # via -r requirements/pip.in diff --git a/requirements/test.txt b/requirements/test.txt index 4570a33..110dd88 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.12 # by the following command: # # make upgrade @@ -9,9 +9,7 @@ astroid==3.0.3 # pylint # pylint-celery attrs==23.2.0 - # via - # hypothesis - # pytest + # via hypothesis click==8.1.7 # via # click-log @@ -31,12 +29,12 @@ dill==0.3.8 # via pylint edx-lint==5.3.6 # via -r requirements/test.in -exceptiongroup==1.2.0 - # via hypothesis execnet==2.0.2 # via pytest-xdist -hypothesis==6.98.3 +hypothesis==6.98.6 # via -r requirements/test.in +iniconfig==2.0.0 + # via pytest isort==5.13.2 # via pylint jinja2==3.1.3 @@ -47,8 +45,6 @@ mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/test.in -more-itertools==10.2.0 - # via pytest mypy==1.8.0 # via -r requirements/test.in mypy-extensions==1.0.0 @@ -66,9 +62,7 @@ pluggy==0.13.1 # -c requirements/constraints.txt # pytest py==1.11.0 - # via - # pytest - # pytest-forked + # via pytest-forked pycodestyle==2.11.1 # via -r requirements/test.in pylint==3.0.3 @@ -87,7 +81,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pymongo==3.13.0 # via -r requirements/base.txt -pytest==5.4.3 +pytest==7.4.4 # via # -c requirements/constraints.txt # -r requirements/test.in @@ -118,18 +112,9 @@ stevedore==5.1.0 # code-annotations text-unidecode==1.3 # via python-slugify -tomli==2.0.1 - # via - # coverage - # mypy - # pylint tomlkit==0.12.3 # via pylint typing-extensions==4.9.0 # via # -r requirements/base.txt - # astroid # mypy - # pylint -wcwidth==0.2.13 - # via pytest diff --git a/setup.py b/setup.py index f5c46eb..8760cbc 100644 --- a/setup.py +++ b/setup.py @@ -102,6 +102,8 @@ def get_version(*file_paths): "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Framework :: Django", "Framework :: Django :: 3.2", "Framework :: Django :: 4.0", diff --git a/tox.ini b/tox.ini index 5b5a6e4..8a6c219 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,9 @@ [tox] -envlist = py38-django{32,42},quality,without-django +envlist = py{38,312}-django{42},quality,without-django skip_missing_interpreters = True [testenv] deps = - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/django-test.txt commands = pytest -v --disable-pytest-warnings --nomigrations {posargs}