From b123152ae581bb35a54faccde911e6b5a47a8772 Mon Sep 17 00:00:00 2001 From: Irtaza Akram Date: Wed, 16 Oct 2024 13:03:43 +0500 Subject: [PATCH 1/3] chore: drop python 3.8 & add python 3.12 --- .github/workflows/ci.yml | 10 +- .github/workflows/pypi-publish.yml | 6 +- README.rst | 2 +- docs/conf.py | 4 +- pylintrc | 7 +- requirements/base.in | 2 + requirements/base.txt | 99 +++++++++-- requirements/ci.txt | 27 +-- requirements/dev.txt | 254 +++++++++++++++------------ requirements/doc.txt | 272 ++++++++++++++++------------- requirements/pip-tools.txt | 20 +-- requirements/pip.txt | 8 +- requirements/quality.txt | 212 +++++++++++++--------- requirements/test.txt | 203 +++++++++++++-------- setup.py | 7 +- tox.ini | 9 +- 16 files changed, 693 insertions(+), 449 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 883b543..4b190aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,13 +15,13 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.8'] - toxenv: [py38-django32, py38-django40, quality] + python-version: ['3.11', '3.12'] + toxenv: [django42, quality] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} @@ -37,7 +37,7 @@ jobs: run: tox - name: Run coverage - if: matrix.python-version == '3.8' && matrix.toxenv == 'django32' + if: matrix.python-version == '3.12' && matrix.toxenv == 'django42' uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index da353d4..ea81e83 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -11,11 +11,11 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.12 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/README.rst b/README.rst index 7d50908..fa80b4c 100644 --- a/README.rst +++ b/README.rst @@ -121,7 +121,7 @@ One Time Setup cd xblock-skill-tagging # Set up a virtualenv using virtualenvwrapper with the same name as the repo and activate it - mkvirtualenv -p python3.8 xblock-skill-tagging + mkvirtualenv -p python3.12 xblock-skill-tagging Every time you develop something in this repo diff --git a/docs/conf.py b/docs/conf.py index 9ed4ec4..62f5310 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -469,8 +469,8 @@ def get_version(*file_paths): # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = { - 'python': ('https://docs.python.org/3.8', None), - 'django': ('https://docs.djangoproject.com/en/3.2/', 'https://docs.djangoproject.com/en/3.2/_objects/'), + 'python': ('https://docs.python.org/3.12', None), + 'django': ('https://docs.djangoproject.com/en/4.2/', 'https://docs.djangoproject.com/en/4.2/_objects/'), 'model_utils': ('https://django-model-utils.readthedocs.io/en/latest/', None), } diff --git a/pylintrc b/pylintrc index 6dde361..cb4c1a2 100644 --- a/pylintrc +++ b/pylintrc @@ -64,7 +64,7 @@ # SERIOUSLY. # # ------------------------------ -# Generated by edx-lint version: 5.3.0 +# Generated by edx-lint version: 5.4.0 # ------------------------------ [MASTER] ignore = migrations @@ -259,6 +259,7 @@ enable = useless-suppression, disable = bad-indentation, + broad-exception-raised, consider-using-f-string, duplicate-code, file-ignored, @@ -384,6 +385,6 @@ ext-import-graph = int-import-graph = [EXCEPTIONS] -overgeneral-exceptions = Exception +overgeneral-exceptions = builtins.Exception -# 46c7367b47aae914d36c17c49c676bffbc597fcd +# 587c3e7efd460e85bca728e79fcc928867d1555c diff --git a/requirements/base.in b/requirements/base.in index 44233f8..a3af881 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -5,3 +5,5 @@ Django # Web application framework django-model-utils # Provides TimeStampedModel abstract base class openedx_events openedx-filters +openedx-django-pyfs +lazy diff --git a/requirements/base.txt b/requirements/base.txt index 72e9981..0f113f8 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,39 +1,104 @@ # -# 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 # -asgiref==3.7.2 +appdirs==1.4.4 + # via fs +asgiref==3.8.1 # via django -attrs==23.1.0 +attrs==24.2.0 # via openedx-events -django==3.2.25 +boto3==1.35.41 + # via fs-s3fs +botocore==1.35.41 + # via + # boto3 + # s3transfer +cffi==1.17.1 + # via pynacl +click==8.1.7 + # via edx-django-utils +django==4.2.16 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in + # django-crum # django-model-utils + # django-waffle + # edx-django-utils + # openedx-django-pyfs # openedx-events # openedx-filters -django-model-utils==4.3.1 +django-crum==0.7.9 + # via edx-django-utils +django-model-utils==5.0.0 # via -r requirements/base.in -edx-opaque-keys[django]==2.3.0 +django-waffle==4.1.0 + # via edx-django-utils +dnspython==2.7.0 + # via pymongo +edx-ccx-keys==1.3.0 + # via openedx-events +edx-django-utils==6.1.0 # via openedx-events -fastavro==1.7.4 +edx-opaque-keys[django]==2.11.0 + # via + # edx-ccx-keys + # openedx-events +fastavro==1.9.7 # via openedx-events -openedx-events==8.0.1 +fs==2.4.16 + # via + # fs-s3fs + # openedx-django-pyfs +fs-s3fs==1.1.1 + # via openedx-django-pyfs +jmespath==1.0.1 + # via + # boto3 + # botocore +lazy==1.6 # via -r requirements/base.in -openedx-filters==1.3.0 +newrelic==10.2.0 + # via edx-django-utils +openedx-django-pyfs==3.7.0 # via -r requirements/base.in -pbr==5.11.1 +openedx-events==9.15.0 + # via -r requirements/base.in +openedx-filters==1.11.0 + # via -r requirements/base.in +pbr==6.1.0 # via stevedore -pymongo==3.13.0 +psutil==6.0.0 + # via edx-django-utils +pycparser==2.22 + # via cffi +pymongo==4.10.1 # via edx-opaque-keys -pytz==2023.3 - # via django -sqlparse==0.4.4 +pynacl==1.5.0 + # via edx-django-utils +python-dateutil==2.9.0.post0 + # via botocore +s3transfer==0.10.3 + # via boto3 +six==1.16.0 + # via + # edx-ccx-keys + # fs + # fs-s3fs + # python-dateutil +sqlparse==0.5.1 # via django -stevedore==5.1.0 +stevedore==5.3.0 + # via + # edx-django-utils + # edx-opaque-keys +typing-extensions==4.12.2 # via edx-opaque-keys -typing-extensions==4.6.3 - # via asgiref +urllib3==2.2.3 + # via botocore + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/ci.txt b/requirements/ci.txt index 0989b5e..cd948f5 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,33 +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 # -distlib==0.3.6 +distlib==0.3.9 # via virtualenv -filelock==3.12.2 +filelock==3.16.1 # via # tox # virtualenv -packaging==23.1 - # via tox -platformdirs==3.5.3 - # via virtualenv -pluggy==1.0.0 +packaging==24.1 + # via + # pyproject-api + # tox +platformdirs==4.3.6 + # via + # tox + # virtualenv +pluggy==1.5.0 # via tox py==1.11.0 # via tox six==1.16.0 # 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 # tox-battery -tox-battery==0.6.1 +tox-battery==0.6.2 # via -r requirements/ci.in -virtualenv==20.23.0 +virtualenv==20.26.6 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 6d0b82a..3ac82b2 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 @@ -8,20 +8,20 @@ appdirs==1.4.4 # via # -r requirements/quality.txt # fs -arrow==1.2.3 +arrow==1.3.0 # via # -r requirements/quality.txt - # jinja2-time -asgiref==3.7.2 + # cookiecutter +asgiref==3.8.1 # via # -r requirements/quality.txt # django -astroid==2.15.5 +astroid==3.3.5 # via # -r requirements/quality.txt # pylint # pylint-celery -attrs==23.1.0 +attrs==24.2.0 # via # -r requirements/quality.txt # openedx-events @@ -29,99 +29,124 @@ binaryornot==0.4.4 # via # -r requirements/quality.txt # cookiecutter -boto3==1.26.153 +boto3==1.35.41 # via # -r requirements/quality.txt # fs-s3fs -botocore==1.29.153 +botocore==1.35.41 # via # -r requirements/quality.txt # boto3 # s3transfer -build==0.10.0 +build==1.2.2.post1 # via # -r requirements/pip-tools.txt # pip-tools -certifi==2023.5.7 +certifi==2024.8.30 # via # -r requirements/quality.txt # requests -chardet==5.1.0 +cffi==1.17.1 + # via + # -r requirements/quality.txt + # pynacl +chardet==5.2.0 # via # -r requirements/quality.txt # binaryornot # diff-cover -charset-normalizer==3.1.0 +charset-normalizer==3.4.0 # via # -r requirements/quality.txt # requests -click==8.1.3 +click==8.1.7 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt # click-log # code-annotations # cookiecutter + # edx-django-utils # edx-lint # pip-tools click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint -code-annotations==1.3.0 +code-annotations==1.8.0 # via # -r requirements/quality.txt # edx-lint -cookiecutter==2.1.1 +cookiecutter==2.6.0 # via # -r requirements/quality.txt # xblock-sdk -coverage[toml]==7.2.7 +coverage[toml]==7.6.3 # via # -r requirements/quality.txt # pytest-cov -diff-cover==7.6.0 +diff-cover==9.2.0 # via -r requirements/dev.in -dill==0.3.6 +dill==0.3.9 # via # -r requirements/quality.txt # pylint -distlib==0.3.6 +distlib==0.3.9 # via # -r requirements/ci.txt # virtualenv -django==3.2.25 +django==4.2.16 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt + # django-crum # django-model-utils + # django-waffle # djangorestframework + # edx-django-utils # edx-i18n-tools # openedx-django-pyfs # openedx-events # openedx-filters # xblock-sdk -django-model-utils==4.3.1 - # via -r requirements/quality.txt -djangorestframework==3.14.0 +django-crum==0.7.9 + # via + # -r requirements/quality.txt + # edx-django-utils +django-model-utils==5.0.0 # via -r requirements/quality.txt -edx-i18n-tools==0.9.2 - # via -r requirements/dev.in -edx-lint==5.3.4 +django-waffle==4.1.0 + # via + # -r requirements/quality.txt + # edx-django-utils +djangorestframework==3.15.2 # via -r requirements/quality.txt -edx-opaque-keys[django]==2.3.0 +dnspython==2.7.0 + # via + # -r requirements/quality.txt + # pymongo +edx-ccx-keys==1.3.0 # via # -r requirements/quality.txt # openedx-events -exceptiongroup==1.1.1 +edx-django-utils==6.1.0 # via # -r requirements/quality.txt - # pytest -fastavro==1.7.4 + # openedx-events +edx-i18n-tools==1.6.3 + # via -r requirements/dev.in +edx-lint==5.4.0 + # via -r requirements/quality.txt +edx-opaque-keys[django]==2.11.0 + # via + # -r requirements/quality.txt + # edx-ccx-keys + # openedx-events +fastavro==1.9.7 # via # -r requirements/quality.txt # openedx-events -filelock==3.12.2 +filelock==3.16.1 # via # -r requirements/ci.txt # tox @@ -137,7 +162,7 @@ fs-s3fs==1.1.1 # -r requirements/quality.txt # openedx-django-pyfs # xblock-sdk -idna==3.4 +idna==3.10 # via # -r requirements/quality.txt # requests @@ -145,59 +170,67 @@ iniconfig==2.0.0 # via # -r requirements/quality.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/quality.txt # pylint -jinja2==3.1.2 +jinja2==3.1.4 # via # -r requirements/quality.txt # code-annotations # cookiecutter # diff-cover - # jinja2-time -jinja2-time==0.2.0 - # via - # -r requirements/quality.txt - # cookiecutter jmespath==1.0.1 # via # -r requirements/quality.txt # boto3 # botocore -lazy==1.5 +lazy==1.6 + # via -r requirements/quality.txt +lxml[html-clean]==5.3.0 # via # -r requirements/quality.txt + # edx-i18n-tools + # lxml-html-clean # xblock -lazy-object-proxy==1.9.0 + # xblock-sdk +lxml-html-clean==0.3.1 + # via lxml +mako==1.3.5 # via # -r requirements/quality.txt - # astroid -lxml==4.9.2 + # xblock +markdown-it-py==3.0.0 # via # -r requirements/quality.txt - # xblock - # xblock-sdk -markupsafe==2.1.3 + # rich +markupsafe==3.0.1 # via # -r requirements/quality.txt # jinja2 + # mako # xblock mccabe==0.7.0 # via # -r requirements/quality.txt # pylint -mock==5.0.2 +mdurl==0.1.2 + # via + # -r requirements/quality.txt + # markdown-it-py +mock==5.1.0 # via -r requirements/quality.txt -openedx-django-pyfs==3.3.0 +newrelic==10.2.0 # via # -r requirements/quality.txt - # xblock -openedx-events==8.0.1 + # edx-django-utils +openedx-django-pyfs==3.7.0 # via -r requirements/quality.txt -openedx-filters==1.3.0 +openedx-events==9.15.0 # via -r requirements/quality.txt -packaging==23.1 +openedx-filters==1.11.0 + # via -r requirements/quality.txt +packaging==24.1 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -205,21 +238,21 @@ packaging==23.1 # build # pytest # tox -path==16.6.0 +path==16.16.0 # via edx-i18n-tools -pbr==5.11.1 +pbr==6.1.0 # via # -r requirements/quality.txt # stevedore -pip-tools==6.13.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.txt -platformdirs==3.5.3 +platformdirs==4.3.6 # via # -r requirements/ci.txt # -r requirements/quality.txt # pylint # virtualenv -pluggy==1.0.0 +pluggy==1.5.0 # via # -r requirements/ci.txt # -r requirements/quality.txt @@ -228,17 +261,28 @@ pluggy==1.0.0 # tox polib==1.2.0 # via edx-i18n-tools +psutil==6.0.0 + # via + # -r requirements/quality.txt + # edx-django-utils py==1.11.0 # via # -r requirements/ci.txt # tox -pycodestyle==2.10.0 +pycodestyle==2.12.1 # via -r requirements/quality.txt +pycparser==2.22 + # via + # -r requirements/quality.txt + # cffi pydocstyle==6.3.0 # via -r requirements/quality.txt -pygments==2.15.1 - # via diff-cover -pylint==2.17.4 +pygments==2.18.0 + # via + # -r requirements/quality.txt + # diff-cover + # rich +pylint==3.3.1 # via # -r requirements/quality.txt # edx-lint @@ -249,7 +293,7 @@ pylint-celery==0.3 # via # -r requirements/quality.txt # edx-lint -pylint-django==2.5.3 +pylint-django==2.6.1 # via # -r requirements/quality.txt # edx-lint @@ -258,68 +302,77 @@ pylint-plugin-utils==0.8.2 # -r requirements/quality.txt # pylint-celery # pylint-django -pymongo==3.13.0 +pymongo==4.10.1 # via # -r requirements/quality.txt # edx-opaque-keys +pynacl==1.5.0 + # via + # -r requirements/quality.txt + # edx-django-utils pypng==0.20220715.0 # via # -r requirements/quality.txt # xblock-sdk -pyproject-hooks==1.0.0 +pyproject-hooks==1.2.0 # via # -r requirements/pip-tools.txt # build -pytest==7.3.2 + # pip-tools +pytest==8.3.3 # 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.5.2 +pytest-django==4.9.0 # via -r requirements/quality.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/quality.txt # arrow # botocore # xblock -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations # cookiecutter -pytz==2023.3 +pytz==2024.2 # via # -r requirements/quality.txt - # django - # djangorestframework # xblock -pyyaml==6.0 +pyyaml==6.0.2 # via # -r requirements/quality.txt # code-annotations # cookiecutter # edx-i18n-tools # xblock -requests==2.31.0 +requests==2.32.3 # via # -r requirements/quality.txt # cookiecutter # xblock-sdk -s3transfer==0.6.1 +rich==13.9.2 + # via + # -r requirements/quality.txt + # cookiecutter +s3transfer==0.10.3 # via # -r requirements/quality.txt # boto3 -simplejson==3.19.1 +simplejson==3.19.3 # via # -r requirements/quality.txt + # xblock # xblock-sdk six==1.16.0 # via # -r requirements/ci.txt # -r requirements/quality.txt + # edx-ccx-keys # edx-lint # fs # fs-s3fs @@ -329,79 +382,66 @@ snowballstemmer==2.2.0 # via # -r requirements/quality.txt # pydocstyle -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/quality.txt # django -stevedore==5.1.0 +stevedore==5.3.0 # via # -r requirements/quality.txt # code-annotations + # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via # -r requirements/quality.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/ci.txt - # -r requirements/pip-tools.txt - # -r requirements/quality.txt - # build - # coverage - # pylint - # pyproject-hooks - # pytest - # tox -tomlkit==0.11.8 +tomlkit==0.13.2 # 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 # tox-battery -tox-battery==0.6.1 +tox-battery==0.6.2 # via -r requirements/ci.txt -typing-extensions==4.6.3 +types-python-dateutil==2.9.0.20241003 # via # -r requirements/quality.txt - # asgiref - # astroid - # pylint -urllib3==1.26.16 + # arrow +typing-extensions==4.12.2 + # via + # -r requirements/quality.txt + # edx-opaque-keys +urllib3==2.2.3 # via # -r requirements/quality.txt # botocore # requests -virtualenv==20.23.0 +virtualenv==20.26.6 # via # -r requirements/ci.txt # tox -web-fragments==2.0.0 +web-fragments==2.2.0 # via # -r requirements/quality.txt # xblock # xblock-sdk -webob==1.8.7 +webob==1.8.8 # via # -r requirements/quality.txt # xblock # xblock-sdk -wheel==0.40.0 +wheel==0.44.0 # via # -r requirements/pip-tools.txt # pip-tools -wrapt==1.15.0 - # via - # -r requirements/quality.txt - # astroid -xblock[django]==1.6.2 +xblock==5.1.0 # via # -r requirements/quality.txt # xblock-sdk -xblock-sdk==0.6.0 +xblock-sdk==0.12.0 # via -r requirements/quality.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/doc.txt b/requirements/doc.txt index d073ae6..597ccb2 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -1,108 +1,129 @@ # -# 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 # -alabaster==0.7.13 +alabaster==1.0.0 # via sphinx appdirs==1.4.4 # via # -r requirements/test.txt # fs -arrow==1.2.3 +arrow==1.3.0 # via # -r requirements/test.txt - # jinja2-time -asgiref==3.7.2 + # cookiecutter +asgiref==3.8.1 # via # -r requirements/test.txt # django -attrs==23.1.0 +attrs==24.2.0 # via # -r requirements/test.txt # openedx-events -babel==2.12.1 +babel==2.16.0 # via sphinx +backports-tarfile==1.2.0 + # via jaraco-context binaryornot==0.4.4 # via # -r requirements/test.txt # cookiecutter -bleach==6.0.0 - # via readme-renderer -boto3==1.26.153 +boto3==1.35.41 # via # -r requirements/test.txt # fs-s3fs -botocore==1.29.153 +botocore==1.35.41 # via # -r requirements/test.txt # boto3 # s3transfer -build==0.10.0 +build==1.2.2.post1 # via -r requirements/doc.in -certifi==2023.5.7 +certifi==2024.8.30 # via # -r requirements/test.txt # requests -cffi==1.15.1 - # via cryptography -chardet==5.1.0 +cffi==1.17.1 + # via + # -r requirements/test.txt + # pynacl +chardet==5.2.0 # via # -r requirements/test.txt # binaryornot -charset-normalizer==3.1.0 +charset-normalizer==3.4.0 # via # -r requirements/test.txt # requests -click==8.1.3 +click==8.1.7 # via # -r requirements/test.txt # code-annotations # cookiecutter -code-annotations==1.3.0 + # edx-django-utils +code-annotations==1.8.0 # via -r requirements/test.txt -cookiecutter==2.1.1 +cookiecutter==2.6.0 # via # -r requirements/test.txt # xblock-sdk -coverage[toml]==7.2.7 +coverage[toml]==7.6.3 # via # -r requirements/test.txt # pytest-cov -cryptography==41.0.1 - # via secretstorage -django==3.2.25 +django==4.2.16 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt + # django-crum # django-model-utils + # django-waffle # djangorestframework + # edx-django-utils # openedx-django-pyfs # openedx-events # openedx-filters # xblock-sdk -django-model-utils==4.3.1 +django-crum==0.7.9 + # via + # -r requirements/test.txt + # edx-django-utils +django-model-utils==5.0.0 # via -r requirements/test.txt -djangorestframework==3.14.0 +django-waffle==4.1.0 + # via + # -r requirements/test.txt + # edx-django-utils +djangorestframework==3.15.2 # via -r requirements/test.txt -doc8==1.1.1 +dnspython==2.7.0 + # via + # -r requirements/test.txt + # pymongo +doc8==1.1.2 # via -r requirements/doc.in -docutils==0.19 +docutils==0.21.2 # via # doc8 # readme-renderer # restructuredtext-lint # sphinx -edx-opaque-keys[django]==2.3.0 +edx-ccx-keys==1.3.0 # via # -r requirements/test.txt # openedx-events -exceptiongroup==1.1.1 +edx-django-utils==6.1.0 # via # -r requirements/test.txt - # pytest -fastavro==1.7.4 + # openedx-events +edx-opaque-keys[django]==2.11.0 + # via + # -r requirements/test.txt + # edx-ccx-keys + # openedx-events +fastavro==1.9.7 # via # -r requirements/test.txt # openedx-events @@ -117,147 +138,160 @@ fs-s3fs==1.1.1 # -r requirements/test.txt # openedx-django-pyfs # xblock-sdk -idna==3.4 +idna==3.10 # via # -r requirements/test.txt # requests imagesize==1.4.1 # via sphinx -importlib-metadata==6.6.0 +importlib-metadata==8.5.0 # via # keyring - # sphinx # twine -importlib-resources==5.12.0 - # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -jaraco-classes==3.2.3 +jaraco-classes==3.4.0 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage -jinja2==3.1.2 +jaraco-context==6.0.1 + # via keyring +jaraco-functools==4.1.0 + # via keyring +jinja2==3.1.4 # via # -r requirements/test.txt # code-annotations # cookiecutter - # jinja2-time # sphinx -jinja2-time==0.2.0 - # via - # -r requirements/test.txt - # cookiecutter jmespath==1.0.1 # via # -r requirements/test.txt # boto3 # botocore -keyring==23.13.1 +keyring==25.4.1 # via twine -lazy==1.5 +lazy==1.6 + # via -r requirements/test.txt +lxml==5.3.0 # via # -r requirements/test.txt # xblock -lxml==4.9.2 + # xblock-sdk +mako==1.3.5 # via # -r requirements/test.txt # xblock - # xblock-sdk markdown-it-py==3.0.0 - # via rich -markupsafe==2.1.3 + # via + # -r requirements/test.txt + # rich +markupsafe==3.0.1 # via # -r requirements/test.txt # jinja2 + # mako # xblock mdurl==0.1.2 - # via markdown-it-py -mock==5.0.2 + # via + # -r requirements/test.txt + # markdown-it-py +mock==5.1.0 # via -r requirements/test.txt -more-itertools==9.1.0 - # via jaraco-classes -openedx-django-pyfs==3.3.0 +more-itertools==10.5.0 + # via + # jaraco-classes + # jaraco-functools +newrelic==10.2.0 # via # -r requirements/test.txt - # xblock -openedx-events==8.0.1 + # edx-django-utils +nh3==0.2.18 + # via readme-renderer +openedx-django-pyfs==3.7.0 + # via -r requirements/test.txt +openedx-events==9.15.0 # via -r requirements/test.txt -openedx-filters==1.3.0 +openedx-filters==1.11.0 # via -r requirements/test.txt -packaging==23.1 +packaging==24.1 # via # -r requirements/test.txt # build # pytest # sphinx -pbr==5.11.1 +pbr==6.1.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine -pluggy==1.0.0 +pluggy==1.5.0 # via # -r requirements/test.txt # pytest -pycparser==2.21 - # via cffi -pygments==2.15.1 +psutil==6.0.0 + # via + # -r requirements/test.txt + # edx-django-utils +pycparser==2.22 + # via + # -r requirements/test.txt + # cffi +pygments==2.18.0 # via + # -r requirements/test.txt # doc8 # readme-renderer # rich # sphinx -pymongo==3.13.0 +pymongo==4.10.1 # via # -r requirements/test.txt # edx-opaque-keys +pynacl==1.5.0 + # via + # -r requirements/test.txt + # edx-django-utils pypng==0.20220715.0 # via # -r requirements/test.txt # xblock-sdk -pyproject-hooks==1.0.0 +pyproject-hooks==1.2.0 # via build -pytest==7.3.2 +pytest==8.3.3 # 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.5.2 +pytest-django==4.9.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # arrow # botocore # xblock -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations # cookiecutter -pytz==2023.3 +pytz==2024.2 # via # -r requirements/test.txt - # babel - # django - # djangorestframework # xblock -pyyaml==6.0 +pyyaml==6.0.2 # via # -r requirements/test.txt # code-annotations # cookiecutter # xblock -readme-renderer==37.3 +readme-renderer==44.0 # via twine -requests==2.31.0 +requests==2.32.3 # via # -r requirements/test.txt # cookiecutter @@ -271,100 +305,92 @@ restructuredtext-lint==1.4.0 # via doc8 rfc3986==2.0.0 # via twine -rich==13.4.2 - # via twine -s3transfer==0.6.1 +rich==13.9.2 + # via + # -r requirements/test.txt + # cookiecutter + # twine +s3transfer==0.10.3 # via # -r requirements/test.txt # boto3 -secretstorage==3.3.3 - # via keyring -simplejson==3.19.1 +simplejson==3.19.3 # via # -r requirements/test.txt + # xblock # xblock-sdk six==1.16.0 # via # -r requirements/test.txt - # bleach + # edx-ccx-keys # fs # fs-s3fs # python-dateutil snowballstemmer==2.2.0 # via sphinx -sphinx==5.3.0 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/doc.in -sphinxcontrib-applehelp==1.0.4 +sphinx==8.1.3 + # via -r requirements/doc.in +sphinxcontrib-applehelp==2.0.0 # via sphinx -sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-devhelp==2.0.0 # via sphinx -sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-htmlhelp==2.1.0 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-qthelp==2.0.0 # via sphinx -sphinxcontrib-serializinghtml==1.1.5 +sphinxcontrib-serializinghtml==2.0.0 # via sphinx -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.3.0 # via # -r requirements/test.txt # code-annotations # doc8 + # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 +twine==5.1.1 + # via -r requirements/doc.in +types-python-dateutil==2.9.0.20241003 # via # -r requirements/test.txt - # build - # coverage - # doc8 - # pyproject-hooks - # pytest -twine==4.0.2 - # via -r requirements/doc.in -typing-extensions==4.6.3 + # arrow +typing-extensions==4.12.2 # via # -r requirements/test.txt - # asgiref - # rich -urllib3==1.26.16 + # edx-opaque-keys +urllib3==2.2.3 # via # -r requirements/test.txt # botocore # requests # twine -web-fragments==2.0.0 +web-fragments==2.2.0 # via # -r requirements/test.txt # xblock # xblock-sdk -webencodings==0.5.1 - # via bleach -webob==1.8.7 +webob==1.8.8 # via # -r requirements/test.txt # xblock # xblock-sdk -xblock[django]==1.6.2 +xblock==5.1.0 # via # -r requirements/test.txt # xblock-sdk -xblock-sdk==0.6.0 +xblock-sdk==0.12.0 # via -r requirements/test.txt -zipp==3.15.0 - # via - # importlib-metadata - # importlib-resources +zipp==3.20.2 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index fd0cc1c..db6c463 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,22 +1,22 @@ # -# 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==0.10.0 +build==1.2.2.post1 # via pip-tools -click==8.1.3 +click==8.1.7 # via pip-tools -packaging==23.1 +packaging==24.1 # via build -pip-tools==6.13.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in -pyproject-hooks==1.0.0 - # via build -tomli==2.0.1 - # via build -wheel==0.40.0 +pyproject-hooks==1.2.0 + # via + # build + # pip-tools +wheel==0.44.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 5a5ce22..36c777e 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.40.0 +wheel==0.44.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==23.1.2 +pip==24.2 # via -r requirements/pip.in -setuptools==67.8.0 +setuptools==75.1.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index eb6747d..2076f54 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 @@ -8,19 +8,19 @@ appdirs==1.4.4 # via # -r requirements/test.txt # fs -arrow==1.2.3 +arrow==1.3.0 # via # -r requirements/test.txt - # jinja2-time -asgiref==3.7.2 + # cookiecutter +asgiref==3.8.1 # via # -r requirements/test.txt # django -astroid==2.15.5 +astroid==3.3.5 # via # pylint # pylint-celery -attrs==23.1.0 +attrs==24.2.0 # via # -r requirements/test.txt # openedx-events @@ -28,75 +28,100 @@ binaryornot==0.4.4 # via # -r requirements/test.txt # cookiecutter -boto3==1.26.153 +boto3==1.35.41 # via # -r requirements/test.txt # fs-s3fs -botocore==1.29.153 +botocore==1.35.41 # via # -r requirements/test.txt # boto3 # s3transfer -certifi==2023.5.7 +certifi==2024.8.30 # via # -r requirements/test.txt # requests -chardet==5.1.0 +cffi==1.17.1 + # via + # -r requirements/test.txt + # pynacl +chardet==5.2.0 # via # -r requirements/test.txt # binaryornot -charset-normalizer==3.1.0 +charset-normalizer==3.4.0 # via # -r requirements/test.txt # requests -click==8.1.3 +click==8.1.7 # via # -r requirements/test.txt # click-log # code-annotations # cookiecutter + # edx-django-utils # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.3.0 +code-annotations==1.8.0 # via # -r requirements/test.txt # edx-lint -cookiecutter==2.1.1 +cookiecutter==2.6.0 # via # -r requirements/test.txt # xblock-sdk -coverage[toml]==7.2.7 +coverage[toml]==7.6.3 # via # -r requirements/test.txt # pytest-cov -dill==0.3.6 +dill==0.3.9 # via pylint -django==3.2.25 +django==4.2.16 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt + # django-crum # django-model-utils + # django-waffle # djangorestframework + # edx-django-utils # openedx-django-pyfs # openedx-events # openedx-filters # xblock-sdk -django-model-utils==4.3.1 +django-crum==0.7.9 + # via + # -r requirements/test.txt + # edx-django-utils +django-model-utils==5.0.0 # via -r requirements/test.txt -djangorestframework==3.14.0 +django-waffle==4.1.0 + # via + # -r requirements/test.txt + # edx-django-utils +djangorestframework==3.15.2 # via -r requirements/test.txt -edx-lint==5.3.4 - # via -r requirements/quality.in -edx-opaque-keys[django]==2.3.0 +dnspython==2.7.0 + # via + # -r requirements/test.txt + # pymongo +edx-ccx-keys==1.3.0 # via # -r requirements/test.txt # openedx-events -exceptiongroup==1.1.1 +edx-django-utils==6.1.0 # via # -r requirements/test.txt - # pytest -fastavro==1.7.4 + # openedx-events +edx-lint==5.4.0 + # via -r requirements/quality.in +edx-opaque-keys[django]==2.11.0 + # via + # -r requirements/test.txt + # edx-ccx-keys + # openedx-events +fastavro==1.9.7 # via # -r requirements/test.txt # openedx-events @@ -111,7 +136,7 @@ fs-s3fs==1.1.1 # -r requirements/test.txt # openedx-django-pyfs # xblock-sdk -idna==3.4 +idna==3.10 # via # -r requirements/test.txt # requests @@ -119,72 +144,90 @@ iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/quality.in # pylint -jinja2==3.1.2 +jinja2==3.1.4 # via # -r requirements/test.txt # code-annotations # cookiecutter - # jinja2-time -jinja2-time==0.2.0 - # via - # -r requirements/test.txt - # cookiecutter jmespath==1.0.1 # via # -r requirements/test.txt # boto3 # botocore -lazy==1.5 +lazy==1.6 + # via -r requirements/test.txt +lxml==5.3.0 # via # -r requirements/test.txt # xblock -lazy-object-proxy==1.9.0 - # via astroid -lxml==4.9.2 + # xblock-sdk +mako==1.3.5 # via # -r requirements/test.txt # xblock - # xblock-sdk -markupsafe==2.1.3 +markdown-it-py==3.0.0 + # via + # -r requirements/test.txt + # rich +markupsafe==3.0.1 # via # -r requirements/test.txt # jinja2 + # mako # xblock mccabe==0.7.0 # via pylint -mock==5.0.2 +mdurl==0.1.2 + # via + # -r requirements/test.txt + # markdown-it-py +mock==5.1.0 # via -r requirements/test.txt -openedx-django-pyfs==3.3.0 +newrelic==10.2.0 # via # -r requirements/test.txt - # xblock -openedx-events==8.0.1 + # edx-django-utils +openedx-django-pyfs==3.7.0 + # via -r requirements/test.txt +openedx-events==9.15.0 # via -r requirements/test.txt -openedx-filters==1.3.0 +openedx-filters==1.11.0 # via -r requirements/test.txt -packaging==23.1 +packaging==24.1 # via # -r requirements/test.txt # pytest -pbr==5.11.1 +pbr==6.1.0 # via # -r requirements/test.txt # stevedore -platformdirs==3.5.3 +platformdirs==4.3.6 # via pylint -pluggy==1.0.0 +pluggy==1.5.0 # via # -r requirements/test.txt # pytest -pycodestyle==2.10.0 +psutil==6.0.0 + # via + # -r requirements/test.txt + # edx-django-utils +pycodestyle==2.12.1 # via -r requirements/quality.in +pycparser==2.22 + # via + # -r requirements/test.txt + # cffi pydocstyle==6.3.0 # via -r requirements/quality.in -pylint==2.17.4 +pygments==2.18.0 + # via + # -r requirements/test.txt + # rich +pylint==3.3.1 # via # edx-lint # pylint-celery @@ -192,123 +235,126 @@ pylint==2.17.4 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.5.3 +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/test.txt # edx-opaque-keys +pynacl==1.5.0 + # via + # -r requirements/test.txt + # edx-django-utils pypng==0.20220715.0 # via # -r requirements/test.txt # xblock-sdk -pytest==7.3.2 +pytest==8.3.3 # 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.5.2 +pytest-django==4.9.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # arrow # botocore # xblock -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations # cookiecutter -pytz==2023.3 +pytz==2024.2 # via # -r requirements/test.txt - # django - # djangorestframework # xblock -pyyaml==6.0 +pyyaml==6.0.2 # via # -r requirements/test.txt # code-annotations # cookiecutter # xblock -requests==2.31.0 +requests==2.32.3 # via # -r requirements/test.txt # cookiecutter # xblock-sdk -s3transfer==0.6.1 +rich==13.9.2 + # via + # -r requirements/test.txt + # cookiecutter +s3transfer==0.10.3 # via # -r requirements/test.txt # boto3 -simplejson==3.19.1 +simplejson==3.19.3 # via # -r requirements/test.txt + # xblock # xblock-sdk six==1.16.0 # via # -r requirements/test.txt + # edx-ccx-keys # edx-lint # fs # fs-s3fs # python-dateutil snowballstemmer==2.2.0 # via pydocstyle -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.3.0 # via # -r requirements/test.txt # code-annotations + # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 +tomlkit==0.13.2 + # via pylint +types-python-dateutil==2.9.0.20241003 # via # -r requirements/test.txt - # coverage - # pylint - # pytest -tomlkit==0.11.8 - # via pylint -typing-extensions==4.6.3 + # arrow +typing-extensions==4.12.2 # via # -r requirements/test.txt - # asgiref - # astroid - # pylint -urllib3==1.26.16 + # edx-opaque-keys +urllib3==2.2.3 # via # -r requirements/test.txt # botocore # requests -web-fragments==2.0.0 +web-fragments==2.2.0 # via # -r requirements/test.txt # xblock # xblock-sdk -webob==1.8.7 +webob==1.8.8 # via # -r requirements/test.txt # xblock # xblock-sdk -wrapt==1.15.0 - # via astroid -xblock[django]==1.6.2 +xblock==5.1.0 # via # -r requirements/test.txt # xblock-sdk -xblock-sdk==0.6.0 +xblock-sdk==0.12.0 # via -r requirements/test.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index 6a82293..f2b3a5f 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,199 +1,262 @@ # -# 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 # appdirs==1.4.4 - # via fs -arrow==1.2.3 - # via jinja2-time -asgiref==3.7.2 + # via + # -r requirements/base.txt + # fs +arrow==1.3.0 + # via cookiecutter +asgiref==3.8.1 # via # -r requirements/base.txt # django -attrs==23.1.0 +attrs==24.2.0 # via # -r requirements/base.txt # openedx-events binaryornot==0.4.4 # via cookiecutter -boto3==1.26.153 - # via fs-s3fs -botocore==1.29.153 +boto3==1.35.41 # via + # -r requirements/base.txt + # fs-s3fs +botocore==1.35.41 + # via + # -r requirements/base.txt # boto3 # s3transfer -certifi==2023.5.7 +certifi==2024.8.30 # via requests -chardet==5.1.0 +cffi==1.17.1 + # via + # -r requirements/base.txt + # pynacl +chardet==5.2.0 # via binaryornot -charset-normalizer==3.1.0 +charset-normalizer==3.4.0 # via requests -click==8.1.3 +click==8.1.7 # via + # -r requirements/base.txt # code-annotations # cookiecutter -code-annotations==1.3.0 + # edx-django-utils +code-annotations==1.8.0 # via -r requirements/test.in -cookiecutter==2.1.1 +cookiecutter==2.6.0 # via xblock-sdk -coverage[toml]==7.2.7 +coverage[toml]==7.6.3 # via pytest-cov # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt + # django-crum # django-model-utils + # django-waffle # djangorestframework + # edx-django-utils # openedx-django-pyfs # openedx-events # openedx-filters # xblock-sdk -django-model-utils==4.3.1 +django-crum==0.7.9 + # via + # -r requirements/base.txt + # edx-django-utils +django-model-utils==5.0.0 # via -r requirements/base.txt -djangorestframework==3.14.0 +django-waffle==4.1.0 + # via + # -r requirements/base.txt + # edx-django-utils +djangorestframework==3.15.2 # via -r requirements/test.in -edx-opaque-keys[django]==2.3.0 +dnspython==2.7.0 + # via + # -r requirements/base.txt + # pymongo +edx-ccx-keys==1.3.0 # via # -r requirements/base.txt # openedx-events -exceptiongroup==1.1.1 - # via pytest -fastavro==1.7.4 +edx-django-utils==6.1.0 + # via + # -r requirements/base.txt + # openedx-events +edx-opaque-keys[django]==2.11.0 + # via + # -r requirements/base.txt + # edx-ccx-keys + # openedx-events +fastavro==1.9.7 # via # -r requirements/base.txt # openedx-events fs==2.4.16 # via + # -r requirements/base.txt # fs-s3fs # openedx-django-pyfs # xblock fs-s3fs==1.1.1 # via + # -r requirements/base.txt # openedx-django-pyfs # xblock-sdk -idna==3.4 +idna==3.10 # via requests iniconfig==2.0.0 # via pytest -jinja2==3.1.2 +jinja2==3.1.4 # via # code-annotations # cookiecutter - # jinja2-time -jinja2-time==0.2.0 - # via cookiecutter jmespath==1.0.1 # via + # -r requirements/base.txt # boto3 # botocore -lazy==1.5 - # via xblock -lxml==4.9.2 +lazy==1.6 + # via -r requirements/base.txt +lxml==5.3.0 # via # xblock # xblock-sdk -markupsafe==2.1.3 +mako==1.3.5 + # via xblock +markdown-it-py==3.0.0 + # via rich +markupsafe==3.0.1 # via # jinja2 + # mako # xblock -mock==5.0.2 +mdurl==0.1.2 + # via markdown-it-py +mock==5.1.0 # via -r requirements/test.in -openedx-django-pyfs==3.3.0 - # via xblock -openedx-events==8.0.1 +newrelic==10.2.0 + # via + # -r requirements/base.txt + # edx-django-utils +openedx-django-pyfs==3.7.0 # via -r requirements/base.txt -openedx-filters==1.3.0 +openedx-events==9.15.0 # via -r requirements/base.txt -packaging==23.1 +openedx-filters==1.11.0 + # via -r requirements/base.txt +packaging==24.1 # via pytest -pbr==5.11.1 +pbr==6.1.0 # via # -r requirements/base.txt # stevedore -pluggy==1.0.0 +pluggy==1.5.0 # via pytest -pymongo==3.13.0 +psutil==6.0.0 + # via + # -r requirements/base.txt + # edx-django-utils +pycparser==2.22 + # via + # -r requirements/base.txt + # cffi +pygments==2.18.0 + # via rich +pymongo==4.10.1 # via # -r requirements/base.txt # edx-opaque-keys +pynacl==1.5.0 + # via + # -r requirements/base.txt + # edx-django-utils pypng==0.20220715.0 # via xblock-sdk -pytest==7.3.2 +pytest==8.3.3 # via # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in -pytest-django==4.5.2 +pytest-django==4.9.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via + # -r requirements/base.txt # arrow # botocore # xblock -python-slugify==8.0.1 +python-slugify==8.0.4 # via # code-annotations # cookiecutter -pytz==2023.3 - # via - # -r requirements/base.txt - # django - # djangorestframework - # xblock -pyyaml==6.0 +pytz==2024.2 + # via xblock +pyyaml==6.0.2 # via # code-annotations # cookiecutter # xblock -requests==2.31.0 +requests==2.32.3 # via # cookiecutter # xblock-sdk -s3transfer==0.6.1 - # via boto3 -simplejson==3.19.1 - # via xblock-sdk +rich==13.9.2 + # via cookiecutter +s3transfer==0.10.3 + # via + # -r requirements/base.txt + # boto3 +simplejson==3.19.3 + # via + # xblock + # xblock-sdk six==1.16.0 # via + # -r requirements/base.txt + # edx-ccx-keys # fs # fs-s3fs # python-dateutil -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/base.txt # django -stevedore==5.1.0 +stevedore==5.3.0 # via # -r requirements/base.txt # code-annotations + # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomli==2.0.1 - # via - # coverage - # pytest -typing-extensions==4.6.3 +types-python-dateutil==2.9.0.20241003 + # via arrow +typing-extensions==4.12.2 # via # -r requirements/base.txt - # asgiref -urllib3==1.26.16 + # edx-opaque-keys +urllib3==2.2.3 # via + # -r requirements/base.txt # botocore # requests -web-fragments==2.0.0 +web-fragments==2.2.0 # via # xblock # xblock-sdk -webob==1.8.7 +webob==1.8.8 # via # xblock # xblock-sdk -xblock[django]==1.6.2 +xblock==5.1.0 # via xblock-sdk -xblock-sdk==0.6.0 +xblock-sdk==0.12.0 # via -r requirements/test.in # The following packages are considered to be unsafe in a requirements file: diff --git a/setup.py b/setup.py index bc762b4..e5a6414 100755 --- a/setup.py +++ b/setup.py @@ -115,19 +115,20 @@ def is_requirement(line): include_package_data=True, install_requires=load_requirements('requirements/base.in'), - python_requires=">=3.8", + python_requires=">=3.11", license="AGPL 3.0", zip_safe=False, keywords='Python edx', classifiers=[ 'Development Status :: 3 - Alpha', 'Framework :: Django', - 'Framework :: Django :: 3.2', + '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', ], entry_points={ "lms.djangoapp": [ diff --git a/tox.ini b/tox.ini index ce71be9..7d4a88d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38-django{32,40}, quality +envlist = py{311,312}-django{42}, quality [pycodestyle] exclude = .git,.tox,migrations @@ -21,19 +21,18 @@ addopts = --cov skill_tagging --cov-report term-missing --cov-report xml norecursedirs = .* docs requirements site-packages [testenv] -whitelist_externals = +allowlist_externals = make deps = - django32: Django>=3.2,<4.0 - django40: Django>=4.0,<4.1 + django42: Django>=4.2,<5.0 -r{toxinidir}/requirements/test.txt commands = make test [testenv:quality] -whitelist_externals = +allowlist_externals = make rm touch From 74deeab82fc80fcdfba4231badc0978208e2f6c7 Mon Sep 17 00:00:00 2001 From: Irtaza Akram Date: Wed, 16 Oct 2024 13:14:41 +0500 Subject: [PATCH 2/3] chore: bump version --- .readthedocs.yaml | 2 +- CHANGELOG.rst | 9 +++++++++ skill_tagging/__init__.py | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 0f029d2..e1d54e1 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,6 +10,6 @@ sphinx: configuration: docs/conf.py python: - version: 3.8 + version: 3.12 install: - requirements: requirements/doc.txt diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fbc9887..14fd54c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,15 @@ Change Log Unreleased ********** +[0.3.0] - 2024-10-16 +************************************************ + +Changed +======= + +* Drop support for python 3.8 +* Adds support for python 3.11 & 3.12 + [0.2.0] - 2024-04-23 ************************************************ diff --git a/skill_tagging/__init__.py b/skill_tagging/__init__.py index c0e11ef..29d6af3 100644 --- a/skill_tagging/__init__.py +++ b/skill_tagging/__init__.py @@ -2,7 +2,7 @@ Django app plugin for fetching and verifying tags for xblock skills. """ -__version__ = '0.2.0' +__version__ = '0.3.0' # pylint: disable=invalid-name default_app_config = 'skill_tagging.apps.SkillTaggingConfig' From b8fb755859e9d3cfe782be08d21d7423af303f94 Mon Sep 17 00:00:00 2001 From: Irtaza Akram Date: Tue, 12 Nov 2024 16:03:22 +0500 Subject: [PATCH 3/3] fix: replace pkg_resources --- requirements/base.txt | 8 ++++---- requirements/ci.txt | 4 ++-- requirements/dev.txt | 28 ++++++++++++++-------------- requirements/doc.txt | 26 +++++++++++++------------- requirements/pip-tools.txt | 4 ++-- requirements/pip.txt | 8 +++++--- requirements/quality.txt | 24 ++++++++++++------------ requirements/test.txt | 22 +++++++++++----------- skill_tagging/pipeline.py | 5 ++--- 9 files changed, 65 insertions(+), 64 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 0f113f8..93bd4f5 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -10,9 +10,9 @@ asgiref==3.8.1 # via django attrs==24.2.0 # via openedx-events -boto3==1.35.41 +boto3==1.35.58 # via fs-s3fs -botocore==1.35.41 +botocore==1.35.58 # via # boto3 # s3transfer @@ -41,7 +41,7 @@ dnspython==2.7.0 # via pymongo edx-ccx-keys==1.3.0 # via openedx-events -edx-django-utils==6.1.0 +edx-django-utils==7.0.0 # via openedx-events edx-opaque-keys[django]==2.11.0 # via @@ -71,7 +71,7 @@ openedx-filters==1.11.0 # via -r requirements/base.in pbr==6.1.0 # via stevedore -psutil==6.0.0 +psutil==6.1.0 # via edx-django-utils pycparser==2.22 # via cffi diff --git a/requirements/ci.txt b/requirements/ci.txt index cd948f5..dfbb2bf 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -10,7 +10,7 @@ filelock==3.16.1 # via # tox # virtualenv -packaging==24.1 +packaging==24.2 # via # pyproject-api # tox @@ -30,5 +30,5 @@ tox==3.28.0 # tox-battery tox-battery==0.6.2 # via -r requirements/ci.in -virtualenv==20.26.6 +virtualenv==20.27.1 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 3ac82b2..d4f62be 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -29,11 +29,11 @@ binaryornot==0.4.4 # via # -r requirements/quality.txt # cookiecutter -boto3==1.35.41 +boto3==1.35.58 # via # -r requirements/quality.txt # fs-s3fs -botocore==1.35.41 +botocore==1.35.58 # via # -r requirements/quality.txt # boto3 @@ -81,7 +81,7 @@ cookiecutter==2.6.0 # via # -r requirements/quality.txt # xblock-sdk -coverage[toml]==7.6.3 +coverage[toml]==7.6.4 # via # -r requirements/quality.txt # pytest-cov @@ -129,13 +129,13 @@ edx-ccx-keys==1.3.0 # via # -r requirements/quality.txt # openedx-events -edx-django-utils==6.1.0 +edx-django-utils==7.0.0 # via # -r requirements/quality.txt # openedx-events edx-i18n-tools==1.6.3 # via -r requirements/dev.in -edx-lint==5.4.0 +edx-lint==5.4.1 # via -r requirements/quality.txt edx-opaque-keys[django]==2.11.0 # via @@ -196,7 +196,7 @@ lxml[html-clean]==5.3.0 # xblock-sdk lxml-html-clean==0.3.1 # via lxml -mako==1.3.5 +mako==1.3.6 # via # -r requirements/quality.txt # xblock @@ -204,7 +204,7 @@ markdown-it-py==3.0.0 # via # -r requirements/quality.txt # rich -markupsafe==3.0.1 +markupsafe==3.0.2 # via # -r requirements/quality.txt # jinja2 @@ -230,7 +230,7 @@ openedx-events==9.15.0 # via -r requirements/quality.txt openedx-filters==1.11.0 # via -r requirements/quality.txt -packaging==24.1 +packaging==24.2 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -261,7 +261,7 @@ pluggy==1.5.0 # tox polib==1.2.0 # via edx-i18n-tools -psutil==6.0.0 +psutil==6.1.0 # via # -r requirements/quality.txt # edx-django-utils @@ -324,7 +324,7 @@ pytest==8.3.3 # -r requirements/quality.txt # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/quality.txt pytest-django==4.9.0 # via -r requirements/quality.txt @@ -355,7 +355,7 @@ requests==2.32.3 # -r requirements/quality.txt # cookiecutter # xblock-sdk -rich==13.9.2 +rich==13.9.4 # via # -r requirements/quality.txt # cookiecutter @@ -419,7 +419,7 @@ urllib3==2.2.3 # -r requirements/quality.txt # botocore # requests -virtualenv==20.26.6 +virtualenv==20.27.1 # via # -r requirements/ci.txt # tox @@ -428,12 +428,12 @@ web-fragments==2.2.0 # -r requirements/quality.txt # xblock # xblock-sdk -webob==1.8.8 +webob==1.8.9 # via # -r requirements/quality.txt # xblock # xblock-sdk -wheel==0.44.0 +wheel==0.45.0 # via # -r requirements/pip-tools.txt # pip-tools diff --git a/requirements/doc.txt b/requirements/doc.txt index 597ccb2..6e5e9fd 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -30,11 +30,11 @@ binaryornot==0.4.4 # via # -r requirements/test.txt # cookiecutter -boto3==1.35.41 +boto3==1.35.58 # via # -r requirements/test.txt # fs-s3fs -botocore==1.35.41 +botocore==1.35.58 # via # -r requirements/test.txt # boto3 @@ -69,7 +69,7 @@ cookiecutter==2.6.0 # via # -r requirements/test.txt # xblock-sdk -coverage[toml]==7.6.3 +coverage[toml]==7.6.4 # via # -r requirements/test.txt # pytest-cov @@ -114,7 +114,7 @@ edx-ccx-keys==1.3.0 # via # -r requirements/test.txt # openedx-events -edx-django-utils==6.1.0 +edx-django-utils==7.0.0 # via # -r requirements/test.txt # openedx-events @@ -169,7 +169,7 @@ jmespath==1.0.1 # -r requirements/test.txt # boto3 # botocore -keyring==25.4.1 +keyring==25.5.0 # via twine lazy==1.6 # via -r requirements/test.txt @@ -178,7 +178,7 @@ lxml==5.3.0 # -r requirements/test.txt # xblock # xblock-sdk -mako==1.3.5 +mako==1.3.6 # via # -r requirements/test.txt # xblock @@ -186,7 +186,7 @@ markdown-it-py==3.0.0 # via # -r requirements/test.txt # rich -markupsafe==3.0.1 +markupsafe==3.0.2 # via # -r requirements/test.txt # jinja2 @@ -214,7 +214,7 @@ openedx-events==9.15.0 # via -r requirements/test.txt openedx-filters==1.11.0 # via -r requirements/test.txt -packaging==24.1 +packaging==24.2 # via # -r requirements/test.txt # build @@ -230,7 +230,7 @@ pluggy==1.5.0 # via # -r requirements/test.txt # pytest -psutil==6.0.0 +psutil==6.1.0 # via # -r requirements/test.txt # edx-django-utils @@ -264,7 +264,7 @@ pytest==8.3.3 # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/test.txt pytest-django==4.9.0 # via -r requirements/test.txt @@ -305,7 +305,7 @@ restructuredtext-lint==1.4.0 # via doc8 rfc3986==2.0.0 # via twine -rich==13.9.2 +rich==13.9.4 # via # -r requirements/test.txt # cookiecutter @@ -378,7 +378,7 @@ web-fragments==2.2.0 # -r requirements/test.txt # xblock # xblock-sdk -webob==1.8.8 +webob==1.8.9 # via # -r requirements/test.txt # xblock @@ -389,7 +389,7 @@ xblock==5.1.0 # xblock-sdk xblock-sdk==0.12.0 # via -r requirements/test.txt -zipp==3.20.2 +zipp==3.21.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index db6c463..dc539c5 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -8,7 +8,7 @@ build==1.2.2.post1 # via pip-tools click==8.1.7 # via pip-tools -packaging==24.1 +packaging==24.2 # via build pip-tools==7.4.1 # via -r requirements/pip-tools.in @@ -16,7 +16,7 @@ pyproject-hooks==1.2.0 # via # build # pip-tools -wheel==0.44.0 +wheel==0.45.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 36c777e..edbda4b 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,13 @@ # # make upgrade # -wheel==0.44.0 +wheel==0.45.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: pip==24.2 - # via -r requirements/pip.in -setuptools==75.1.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/pip.in +setuptools==75.4.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 2076f54..e427577 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -28,11 +28,11 @@ binaryornot==0.4.4 # via # -r requirements/test.txt # cookiecutter -boto3==1.35.41 +boto3==1.35.58 # via # -r requirements/test.txt # fs-s3fs -botocore==1.35.41 +botocore==1.35.58 # via # -r requirements/test.txt # boto3 @@ -71,7 +71,7 @@ cookiecutter==2.6.0 # via # -r requirements/test.txt # xblock-sdk -coverage[toml]==7.6.3 +coverage[toml]==7.6.4 # via # -r requirements/test.txt # pytest-cov @@ -110,11 +110,11 @@ edx-ccx-keys==1.3.0 # via # -r requirements/test.txt # openedx-events -edx-django-utils==6.1.0 +edx-django-utils==7.0.0 # via # -r requirements/test.txt # openedx-events -edx-lint==5.4.0 +edx-lint==5.4.1 # via -r requirements/quality.in edx-opaque-keys[django]==2.11.0 # via @@ -165,7 +165,7 @@ lxml==5.3.0 # -r requirements/test.txt # xblock # xblock-sdk -mako==1.3.5 +mako==1.3.6 # via # -r requirements/test.txt # xblock @@ -173,7 +173,7 @@ markdown-it-py==3.0.0 # via # -r requirements/test.txt # rich -markupsafe==3.0.1 +markupsafe==3.0.2 # via # -r requirements/test.txt # jinja2 @@ -197,7 +197,7 @@ openedx-events==9.15.0 # via -r requirements/test.txt openedx-filters==1.11.0 # via -r requirements/test.txt -packaging==24.1 +packaging==24.2 # via # -r requirements/test.txt # pytest @@ -211,7 +211,7 @@ pluggy==1.5.0 # via # -r requirements/test.txt # pytest -psutil==6.0.0 +psutil==6.1.0 # via # -r requirements/test.txt # edx-django-utils @@ -258,7 +258,7 @@ pytest==8.3.3 # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/test.txt pytest-django==4.9.0 # via -r requirements/test.txt @@ -288,7 +288,7 @@ requests==2.32.3 # -r requirements/test.txt # cookiecutter # xblock-sdk -rich==13.9.2 +rich==13.9.4 # via # -r requirements/test.txt # cookiecutter @@ -345,7 +345,7 @@ web-fragments==2.2.0 # -r requirements/test.txt # xblock # xblock-sdk -webob==1.8.8 +webob==1.8.9 # via # -r requirements/test.txt # xblock diff --git a/requirements/test.txt b/requirements/test.txt index f2b3a5f..7447fa0 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -20,11 +20,11 @@ attrs==24.2.0 # openedx-events binaryornot==0.4.4 # via cookiecutter -boto3==1.35.41 +boto3==1.35.58 # via # -r requirements/base.txt # fs-s3fs -botocore==1.35.41 +botocore==1.35.58 # via # -r requirements/base.txt # boto3 @@ -49,7 +49,7 @@ code-annotations==1.8.0 # via -r requirements/test.in cookiecutter==2.6.0 # via xblock-sdk -coverage[toml]==7.6.3 +coverage[toml]==7.6.4 # via pytest-cov # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt @@ -83,7 +83,7 @@ edx-ccx-keys==1.3.0 # via # -r requirements/base.txt # openedx-events -edx-django-utils==6.1.0 +edx-django-utils==7.0.0 # via # -r requirements/base.txt # openedx-events @@ -126,11 +126,11 @@ lxml==5.3.0 # via # xblock # xblock-sdk -mako==1.3.5 +mako==1.3.6 # via xblock markdown-it-py==3.0.0 # via rich -markupsafe==3.0.1 +markupsafe==3.0.2 # via # jinja2 # mako @@ -149,7 +149,7 @@ openedx-events==9.15.0 # via -r requirements/base.txt openedx-filters==1.11.0 # via -r requirements/base.txt -packaging==24.1 +packaging==24.2 # via pytest pbr==6.1.0 # via @@ -157,7 +157,7 @@ pbr==6.1.0 # stevedore pluggy==1.5.0 # via pytest -psutil==6.0.0 +psutil==6.1.0 # via # -r requirements/base.txt # edx-django-utils @@ -181,7 +181,7 @@ pytest==8.3.3 # via # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/test.in pytest-django==4.9.0 # via -r requirements/test.in @@ -206,7 +206,7 @@ requests==2.32.3 # via # cookiecutter # xblock-sdk -rich==13.9.2 +rich==13.9.4 # via cookiecutter s3transfer==0.10.3 # via @@ -250,7 +250,7 @@ web-fragments==2.2.0 # via # xblock # xblock-sdk -webob==1.8.8 +webob==1.8.9 # via # xblock # xblock-sdk diff --git a/skill_tagging/pipeline.py b/skill_tagging/pipeline.py index 6f4f756..b505eb4 100644 --- a/skill_tagging/pipeline.py +++ b/skill_tagging/pipeline.py @@ -3,8 +3,8 @@ """ import logging import random +from importlib.resources import files -import pkg_resources from django.conf import settings from django.template import Context, Template from openedx_filters import PipelineStep @@ -20,8 +20,7 @@ def resource_string(path): """Handy helper for getting resources from our kit.""" - data = pkg_resources.resource_string(__name__, path) - return data.decode("utf8") + return files(__package__).joinpath(path).read_text(encoding="utf-8") class VerificationPipelineBase: