diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b1eb7f0..54ab06a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,8 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: ["py38", "quality"] + python-version: ['3.8', '3.12'] + toxenv: ["quality", '38', '312'] steps: - uses: actions/checkout@v2 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 186e70c..e0a5b2d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,9 +13,18 @@ Change Log Unreleased ~~~~~~~~~~ - * +[1.1.0] - 2024-02-27 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Added +_____ + +* python 3.12 support. + + + [1.0.0] - 2022-05-17 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/requirements/ci.txt b/requirements/ci.txt index e5f81f0..88a39ff 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,27 +4,35 @@ # # make upgrade # -distlib==0.3.7 +cachetools==5.3.3 + # via tox +chardet==5.2.0 + # via tox +colorama==0.4.6 + # via tox +distlib==0.3.8 # via virtualenv -filelock==3.12.4 +filelock==3.13.1 # via # tox # virtualenv packaging==23.2 + # via + # pyproject-api + # tox +platformdirs==4.2.0 + # via + # tox + # virtualenv +pluggy==1.4.0 # via tox -platformdirs==3.11.0 - # via virtualenv -pluggy==1.3.0 - # via tox -py==1.11.0 - # via tox -six==1.16.0 +pyproject-api==1.6.1 # via tox tomli==2.0.1 - # via tox -tox==3.28.0 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/ci.in -virtualenv==20.24.6 + # pyproject-api + # tox +tox==4.13.0 + # via -r requirements/ci.in +virtualenv==20.25.1 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 4d519eb..9bac595 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,7 +4,7 @@ # # make upgrade # -astroid==3.0.1 +astroid==3.1.0 # via # -r requirements/quality.txt # pylint @@ -13,13 +13,20 @@ build==1.0.3 # via # -r requirements/pip-tools.txt # pip-tools -certifi==2023.7.22 +cachetools==5.3.3 + # via + # -r requirements/ci.txt + # tox +certifi==2024.2.2 # via # -r requirements/quality.txt # requests chardet==5.2.0 - # via diff-cover -charset-normalizer==3.3.1 + # via + # -r requirements/ci.txt + # diff-cover + # tox +charset-normalizer==3.3.2 # via # -r requirements/quality.txt # requests @@ -35,22 +42,25 @@ click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint -code-annotations==1.5.0 +code-annotations==1.6.0 # via # -r requirements/quality.txt # edx-lint -coverage[toml]==7.3.2 +colorama==0.4.6 + # via + # -r requirements/ci.txt + # tox +coverage[toml]==7.4.3 # via # -r requirements/quality.txt - # coverage # pytest-cov -diff-cover==7.7.0 +diff-cover==8.0.3 # via -r requirements/dev.in -dill==0.3.7 +dill==0.3.8 # via # -r requirements/quality.txt # pylint -distlib==0.3.7 +distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv @@ -60,27 +70,27 @@ docutils==0.20.1 # readme-renderer edx-lint==5.3.6 # via -r requirements/quality.txt -exceptiongroup==1.1.3 +exceptiongroup==1.2.0 # via # -r requirements/quality.txt # pytest -filelock==3.12.4 +filelock==3.13.1 # via # -r requirements/ci.txt # tox # virtualenv -idna==3.4 +idna==3.6 # via # -r requirements/quality.txt # requests -importlib-metadata==6.8.0 +importlib-metadata==7.0.1 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt # build # keyring # twine -importlib-resources==6.1.0 +importlib-resources==6.1.2 # via # -r requirements/quality.txt # keyring @@ -88,20 +98,20 @@ iniconfig==2.0.0 # via # -r requirements/quality.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/quality.txt # pylint -jaraco-classes==3.3.0 +jaraco-classes==3.3.1 # via # -r requirements/quality.txt # keyring -jinja2==3.1.2 +jinja2==3.1.3 # via # -r requirements/quality.txt # code-annotations # diff-cover -keyring==24.2.0 +keyring==24.3.0 # via # -r requirements/quality.txt # twine @@ -109,7 +119,7 @@ markdown-it-py==3.0.0 # via # -r requirements/quality.txt # rich -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/quality.txt # jinja2 @@ -121,11 +131,11 @@ mdurl==0.1.2 # via # -r requirements/quality.txt # markdown-it-py -more-itertools==10.1.0 +more-itertools==10.2.0 # via # -r requirements/quality.txt # jaraco-classes -nh3==0.2.14 +nh3==0.2.15 # via # -r requirements/quality.txt # readme-renderer @@ -135,46 +145,44 @@ packaging==23.2 # -r requirements/pip-tools.txt # -r requirements/quality.txt # build + # pyproject-api # pytest # tox -pbr==5.11.1 +pbr==6.0.0 # via # -r requirements/quality.txt # stevedore -pip-tools==7.3.0 +pip-tools==7.4.0 # via -r requirements/pip-tools.txt pkginfo==1.9.6 # via # -r requirements/quality.txt # twine -platformdirs==3.11.0 +platformdirs==4.2.0 # via # -r requirements/ci.txt # -r requirements/quality.txt # pylint + # tox # virtualenv -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/ci.txt # -r requirements/quality.txt # diff-cover # pytest # tox -py==1.11.0 - # via - # -r requirements/ci.txt - # tox pycodestyle==2.11.1 # via -r requirements/quality.txt pydocstyle==6.3.0 # via -r requirements/quality.txt -pygments==2.16.1 +pygments==2.17.2 # via # -r requirements/quality.txt # diff-cover # readme-renderer # rich -pylint==3.0.2 +pylint==3.1.0 # via # -r requirements/quality.txt # edx-lint @@ -194,17 +202,22 @@ pylint-plugin-utils==0.8.2 # -r requirements/quality.txt # pylint-celery # pylint-django +pyproject-api==1.6.1 + # via + # -r requirements/ci.txt + # tox pyproject-hooks==1.0.0 # via # -r requirements/pip-tools.txt # build -pytest==7.4.2 + # pip-tools +pytest==8.0.2 # via # -r requirements/quality.txt # pytest-cov pytest-cov==4.1.0 # via -r requirements/quality.txt -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations @@ -212,7 +225,7 @@ pyyaml==6.0.1 # via # -r requirements/quality.txt # code-annotations -readme-renderer==42.0 +readme-renderer==43.0 # via # -r requirements/quality.txt # twine @@ -229,21 +242,19 @@ rfc3986==2.0.0 # via # -r requirements/quality.txt # twine -rich==13.6.0 +rich==13.7.0 # via # -r requirements/quality.txt # twine six==1.16.0 # via - # -r requirements/ci.txt # -r requirements/quality.txt # edx-lint - # tox snowballstemmer==2.2.0 # via # -r requirements/quality.txt # pydocstyle -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/quality.txt # code-annotations @@ -260,35 +271,34 @@ tomli==2.0.1 # coverage # pip-tools # pylint + # pyproject-api # pyproject-hooks # pytest # tox -tomlkit==0.12.1 +tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint -tox==3.28.0 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/ci.txt -twine==4.0.2 +tox==4.13.0 + # via -r requirements/ci.txt +twine==5.0.0 # via -r requirements/quality.txt -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/quality.txt # astroid # pylint # rich -urllib3==2.0.7 +urllib3==2.2.1 # via # -r requirements/quality.txt # requests # twine -virtualenv==20.24.6 +virtualenv==20.25.1 # via # -r requirements/ci.txt # tox -wheel==0.41.2 +wheel==0.42.0 # via # -r requirements/pip-tools.txt # pip-tools diff --git a/requirements/doc.txt b/requirements/doc.txt index af83123..6fb9da5 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -8,22 +8,21 @@ accessible-pygments==0.0.4 # via pydata-sphinx-theme alabaster==0.7.13 # via sphinx -babel==2.13.1 +babel==2.14.0 # via # pydata-sphinx-theme # sphinx -beautifulsoup4==4.12.2 +beautifulsoup4==4.12.3 # via pydata-sphinx-theme build==1.0.3 # via -r requirements/doc.in -certifi==2023.7.22 +certifi==2024.2.2 # via requests -charset-normalizer==3.3.1 +charset-normalizer==3.3.2 # via requests -coverage[toml]==7.3.2 +coverage[toml]==7.4.3 # via # -r requirements/test.txt - # coverage # pytest-cov doc8==1.1.1 # via -r requirements/doc.in @@ -34,41 +33,41 @@ docutils==0.19 # readme-renderer # restructuredtext-lint # sphinx -exceptiongroup==1.1.3 +exceptiongroup==1.2.0 # via # -r requirements/test.txt # pytest -idna==3.4 +idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==6.8.0 +importlib-metadata==7.0.1 # via # build # keyring # sphinx # twine -importlib-resources==6.1.0 +importlib-resources==6.1.2 # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -jaraco-classes==3.3.0 +jaraco-classes==3.3.1 # via keyring -jinja2==3.1.2 +jinja2==3.1.3 # via sphinx -keyring==24.2.0 +keyring==24.3.0 # via twine markdown-it-py==3.0.0 # via rich -markupsafe==2.1.3 +markupsafe==2.1.5 # via jinja2 mdurl==0.1.2 # via markdown-it-py -more-itertools==10.1.0 +more-itertools==10.2.0 # via jaraco-classes -nh3==0.2.14 +nh3==0.2.15 # via readme-renderer packaging==23.2 # via @@ -77,17 +76,17 @@ packaging==23.2 # pydata-sphinx-theme # pytest # sphinx -pbr==5.11.1 +pbr==6.0.0 # via stevedore pkginfo==1.9.6 # via twine -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/test.txt # pytest -pydata-sphinx-theme==0.14.1 +pydata-sphinx-theme==0.14.4 # via sphinx-book-theme -pygments==2.16.1 +pygments==2.17.2 # via # accessible-pygments # doc8 @@ -97,15 +96,15 @@ pygments==2.16.1 # sphinx pyproject-hooks==1.0.0 # via build -pytest==7.4.2 +pytest==8.0.2 # via # -r requirements/test.txt # pytest-cov pytest-cov==4.1.0 # via -r requirements/test.txt -pytz==2023.3.post1 +pytz==2024.1 # via babel -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via @@ -118,7 +117,7 @@ restructuredtext-lint==1.4.0 # via doc8 rfc3986==2.0.0 # via twine -rich==13.6.0 +rich==13.7.0 # via twine six==1.16.0 # via -r requirements/test.txt @@ -145,7 +144,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -stevedore==5.1.0 +stevedore==5.2.0 # via doc8 tomli==2.0.1 # via @@ -155,13 +154,13 @@ tomli==2.0.1 # doc8 # pyproject-hooks # pytest -twine==4.0.2 +twine==5.0.0 # via -r requirements/doc.in -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # pydata-sphinx-theme # rich -urllib3==2.0.7 +urllib3==2.2.1 # via # requests # twine diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 50d35f2..44c48d9 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -8,20 +8,22 @@ build==1.0.3 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==6.8.0 +importlib-metadata==7.0.1 # via build packaging==23.2 # via build -pip-tools==7.3.0 +pip-tools==7.4.0 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 - # via build + # via + # build + # pip-tools tomli==2.0.1 # via # build # pip-tools # pyproject-hooks -wheel==0.41.2 +wheel==0.42.0 # via pip-tools zipp==3.17.0 # via importlib-metadata diff --git a/requirements/pip.txt b/requirements/pip.txt index 0c788d6..6665603 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.41.2 +wheel==0.42.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==23.3.1 +pip==24.0 # via -r requirements/pip.in -setuptools==68.2.2 +setuptools==69.1.1 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 57fac64..a888db7 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,13 +4,13 @@ # # make upgrade # -astroid==3.0.1 +astroid==3.1.0 # via # pylint # pylint-celery -certifi==2023.7.22 +certifi==2024.2.2 # via requests -charset-normalizer==3.3.1 +charset-normalizer==3.3.2 # via requests click==8.1.7 # via @@ -19,68 +19,67 @@ click==8.1.7 # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.5.0 +code-annotations==1.6.0 # via edx-lint -coverage[toml]==7.3.2 +coverage[toml]==7.4.3 # via # -r requirements/test.txt - # coverage # pytest-cov -dill==0.3.7 +dill==0.3.8 # via pylint docutils==0.20.1 # via readme-renderer edx-lint==5.3.6 # via -r requirements/quality.in -exceptiongroup==1.1.3 +exceptiongroup==1.2.0 # via # -r requirements/test.txt # pytest -idna==3.4 +idna==3.6 # via requests -importlib-metadata==6.8.0 +importlib-metadata==7.0.1 # via # keyring # twine -importlib-resources==6.1.0 +importlib-resources==6.1.2 # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/quality.in # pylint -jaraco-classes==3.3.0 +jaraco-classes==3.3.1 # via keyring -jinja2==3.1.2 +jinja2==3.1.3 # via code-annotations -keyring==24.2.0 +keyring==24.3.0 # via twine markdown-it-py==3.0.0 # via rich -markupsafe==2.1.3 +markupsafe==2.1.5 # via jinja2 mccabe==0.7.0 # via pylint mdurl==0.1.2 # via markdown-it-py -more-itertools==10.1.0 +more-itertools==10.2.0 # via jaraco-classes -nh3==0.2.14 +nh3==0.2.15 # via readme-renderer packaging==23.2 # via # -r requirements/test.txt # pytest -pbr==5.11.1 +pbr==6.0.0 # via stevedore pkginfo==1.9.6 # via twine -platformdirs==3.11.0 +platformdirs==4.2.0 # via pylint -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/test.txt # pytest @@ -88,11 +87,11 @@ pycodestyle==2.11.1 # via -r requirements/quality.in pydocstyle==6.3.0 # via -r requirements/quality.in -pygments==2.16.1 +pygments==2.17.2 # via # readme-renderer # rich -pylint==3.0.2 +pylint==3.1.0 # via # -r requirements/quality.in # edx-lint @@ -107,17 +106,17 @@ pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pytest==7.4.2 +pytest==8.0.2 # via # -r requirements/test.txt # pytest-cov pytest-cov==4.1.0 # via -r requirements/test.txt -python-slugify==8.0.1 +python-slugify==8.0.4 # via code-annotations pyyaml==6.0.1 # via code-annotations -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via @@ -127,7 +126,7 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==13.6.0 +rich==13.7.0 # via twine six==1.16.0 # via @@ -135,7 +134,7 @@ six==1.16.0 # edx-lint snowballstemmer==2.2.0 # via pydocstyle -stevedore==5.1.0 +stevedore==5.2.0 # via code-annotations text-unidecode==1.3 # via python-slugify @@ -145,16 +144,16 @@ tomli==2.0.1 # coverage # pylint # pytest -tomlkit==0.12.1 +tomlkit==0.12.4 # via pylint -twine==4.0.2 +twine==5.0.0 # via -r requirements/quality.in -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # astroid # pylint # rich -urllib3==2.0.7 +urllib3==2.2.1 # via # requests # twine diff --git a/requirements/test.txt b/requirements/test.txt index 217a236..1a5036d 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,19 +4,17 @@ # # make upgrade # -coverage[toml]==7.3.2 - # via - # coverage - # pytest-cov -exceptiongroup==1.1.3 +coverage[toml]==7.4.3 + # via pytest-cov +exceptiongroup==1.2.0 # via pytest iniconfig==2.0.0 # via pytest packaging==23.2 # via pytest -pluggy==1.3.0 +pluggy==1.4.0 # via pytest -pytest==7.4.2 +pytest==8.0.2 # via # -r requirements/test.in # pytest-cov diff --git a/setup.py b/setup.py index 3bd843a..7b80d4e 100755 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ from setuptools import setup -VERSION = '1.0.0' +VERSION = '1.1.0' def load_requirements(*requirements_paths): diff --git a/tox.ini b/tox.ini index 2522208..a6fd65f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38,quality +envlist = py{38,312},quality [testenv] allowlist_externals =