diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7215e4d..8f350af 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -11,11 +11,14 @@ jobs: strategy: max-parallel: 2 matrix: - python-version: ["3.11"] - django: ["42"] + python-version: ["3.11", "3.12"] + django: ["42", "52"] + exclude: + - python-version: "3.12" + django: "42" steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Cache dependency uses: actions/cache@v4 @@ -25,7 +28,7 @@ jobs: restore-keys: | ${{ runner.os }}-pip- - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e0dda31..6b1cc5f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -16,6 +16,14 @@ Unreleased * +1.2.0 - 2025-10-14 +********************************************** + +Changed +======= + +* **Ulmo Support**: Upgrade requirements base on edx-platform Ulmo release, update GitHub Workflows with new actions version. + 1.1.0 - 2025-06-22 ********************************************** diff --git a/Makefile b/Makefile index 39d0a11..b96fb20 100644 --- a/Makefile +++ b/Makefile @@ -48,6 +48,10 @@ upgrade: ## update the requirements/*.txt files with the latest packages satisfy $(PIP_COMPILE) -o requirements/dev.txt requirements/dev.in $(PIP_COMPILE) -o requirements/tox.txt requirements/tox.in + grep -e "^django==" requirements/test.txt > requirements/django52.txt + sed '/^[dD]jango==/d;' requirements/test.txt > requirements/test.tmp + mv requirements/test.tmp requirements/test.txt + requirements: ## install development environment requirements pip install -r requirements/pip.txt pip install -qr requirements/pip-tools.txt diff --git a/requirements/base.txt b/requirements/base.txt index a4da206..b91c7bd 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,17 +6,17 @@ # appdirs==1.4.4 # via fs -asgiref==3.8.1 +asgiref==3.10.0 # via django -boto3==1.38.41 +boto3==1.40.51 # via fs-s3fs -botocore==1.38.41 +botocore==1.40.51 # via # boto3 # s3transfer -django==4.2.23 +django==5.2.7 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # openedx-django-pyfs fs==2.4.16 # via @@ -31,13 +31,13 @@ jmespath==1.0.1 # botocore lazy==1.6 # via xblock -lxml==5.4.0 +lxml==6.0.2 # via xblock mako==1.3.10 # via # xblock # xblock-utils -markupsafe==3.0.2 +markupsafe==3.0.3 # via # mako # xblock @@ -49,11 +49,11 @@ python-dateutil==2.9.0.post0 # xblock pytz==2025.2 # via xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via xblock -s3transfer==0.13.0 +s3transfer==0.14.0 # via boto3 -simplejson==3.20.1 +simplejson==3.20.2 # via # xblock # xblock-utils @@ -64,10 +64,8 @@ six==1.17.0 # python-dateutil sqlparse==0.5.3 # via django -urllib3==2.2.3 - # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt - # botocore +urllib3==2.5.0 + # via botocore web-fragments==3.1.0 # via # xblock diff --git a/requirements/ci.txt b/requirements/ci.txt index 0856f5e..bba0cfe 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,47 +4,45 @@ # # make upgrade # -cachetools==6.1.0 +cachetools==6.2.1 # via tox -certifi==2025.6.15 +certifi==2025.10.5 # via requests chardet==5.2.0 # via tox -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via requests codecov==2.1.13 # via -r requirements/ci.in colorama==0.4.6 # via tox -coverage==7.9.1 +coverage==7.10.7 # via codecov -distlib==0.3.9 +distlib==0.4.0 # via virtualenv -filelock==3.18.0 +filelock==3.20.0 # via # tox # virtualenv -idna==3.10 +idna==3.11 # via requests packaging==25.0 # via # pyproject-api # tox -platformdirs==4.3.8 +platformdirs==4.5.0 # via # tox # virtualenv pluggy==1.6.0 # via tox -pyproject-api==1.9.1 +pyproject-api==1.10.0 # via tox -requests==2.32.4 +requests==2.32.5 # via codecov -tox==4.27.0 +tox==4.31.0 # via -r requirements/ci.in -urllib3==2.2.3 - # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt - # requests -virtualenv==20.31.2 +urllib3==2.5.0 + # via requests +virtualenv==20.35.3 # via tox diff --git a/requirements/constraints.txt b/requirements/constraints.txt index d62dabd..935f3ce 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -8,5 +8,16 @@ # pin when possible. Writing an issue against the offending project and # linking to it here is good. -# Common constraints for Open edX repos --c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt \ No newline at end of file +# using LTS django version +Django<6.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 +# See https://github.com/openedx/edx-platform/issues/35126 for more info +elasticsearch<7.14.0 + +# NOTE: Pylint 4.x introduces changes in how the "ignore" and "ignore-patterns" options +# are parsed from setup.cfg and other configuration files. This causes Django migration +# modules (e.g., eox_tenant/migrations) to be linted even when explicitly ignored. +# Until we find a stable fix or plugin-based workaround, we keep Pylint pinned below 4. +pylint<4 \ No newline at end of file diff --git a/requirements/dev.txt b/requirements/dev.txt index 840a08d..5b53ca3 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -14,12 +14,12 @@ appdirs==1.4.4 # -r requirements/quality.txt # -r requirements/test.txt # fs -asgiref==3.8.1 +asgiref==3.10.0 # via # -r requirements/quality.txt # -r requirements/test.txt # django -astroid==3.3.10 +astroid==3.3.11 # via # -r requirements/quality.txt # pylint @@ -28,27 +28,27 @@ backports-tarfile==1.2.0 # via # -r requirements/quality.txt # jaraco-context -billiard==4.2.1 +billiard==4.2.2 # via # -r requirements/quality.txt # -r requirements/test.txt # celery -boto3==1.38.41 +boto3==1.40.51 # via # -r requirements/quality.txt # -r requirements/test.txt # fs-s3fs -botocore==1.38.41 +botocore==1.40.51 # via # -r requirements/quality.txt # -r requirements/test.txt # boto3 # s3transfer -build==1.2.2.post1 +build==1.3.0 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==6.1.0 +cachetools==6.2.1 # via # -r requirements/ci.txt # tox @@ -56,13 +56,13 @@ celery==5.5.3 # via # -r requirements/quality.txt # -r requirements/test.txt -certifi==2025.6.15 +certifi==2025.10.5 # via # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/test.txt # requests -cffi==1.17.1 +cffi==2.0.0 # via # -r requirements/quality.txt # cryptography @@ -71,13 +71,13 @@ chardet==5.2.0 # -r requirements/ci.txt # diff-cover # tox -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/test.txt # requests -click==8.2.1 +click==8.3.0 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt @@ -99,7 +99,7 @@ click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint -click-plugins==1.1.1 +click-plugins==1.1.1.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -119,30 +119,30 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/test.txt # codecov # pytest-cov -cryptography==45.0.4 +cryptography==46.0.2 # via # -r requirements/quality.txt # secretstorage -diff-cover==9.3.2 +diff-cover==9.7.1 # via -r requirements/dev.in dill==0.4.0 # via # -r requirements/quality.txt # pylint -distlib==0.3.9 +distlib==0.4.0 # via # -r requirements/ci.txt # virtualenv -django==4.2.23 +django==5.2.7 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/quality.txt # -r requirements/test.txt # django-appconf @@ -153,12 +153,12 @@ django-appconf==1.1.0 # via django-statici18n django-statici18n==2.6.0 # via -r requirements/dev.in -dnspython==2.7.0 +dnspython==2.8.0 # via # -r requirements/quality.txt # -r requirements/test.txt # pymongo -docutils==0.21.2 +docutils==0.22.2 # via # -r requirements/quality.txt # readme-renderer @@ -170,7 +170,7 @@ edx-opaque-keys==3.0.0 # via # -r requirements/quality.txt # -r requirements/test.txt -filelock==3.18.0 +filelock==3.20.0 # via # -r requirements/ci.txt # tox @@ -191,7 +191,7 @@ id==1.5.0 # via # -r requirements/quality.txt # twine -idna==3.10 +idna==3.11 # via # -r requirements/ci.txt # -r requirements/quality.txt @@ -206,7 +206,7 @@ iniconfig==2.1.0 # -r requirements/quality.txt # -r requirements/test.txt # pytest -isort==6.0.1 +isort==6.1.0 # via # -r requirements/quality.txt # pylint @@ -218,7 +218,7 @@ jaraco-context==6.0.1 # via # -r requirements/quality.txt # keyring -jaraco-functools==4.1.0 +jaraco-functools==4.3.0 # via # -r requirements/quality.txt # keyring @@ -252,14 +252,14 @@ lazy==1.6 # -r requirements/quality.txt # -r requirements/test.txt # xblock -lxml[html-clean]==5.4.0 +lxml[html-clean]==6.0.2 # via # -r requirements/quality.txt # -r requirements/test.txt # edx-i18n-tools # lxml-html-clean # xblock -lxml-html-clean==0.4.2 +lxml-html-clean==0.4.3 # via lxml mako==1.3.10 # via @@ -268,11 +268,11 @@ mako==1.3.10 # -r requirements/test.txt # xblock # xblock-utils -markdown-it-py==3.0.0 +markdown-it-py==4.0.0 # via # -r requirements/quality.txt # rich -markupsafe==3.0.2 +markupsafe==3.0.3 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -287,12 +287,12 @@ mdurl==0.1.2 # via # -r requirements/quality.txt # markdown-it-py -more-itertools==10.7.0 +more-itertools==10.8.0 # via # -r requirements/quality.txt # jaraco-classes # jaraco-functools -nh3==0.2.21 +nh3==0.3.1 # via # -r requirements/quality.txt # readme-renderer @@ -315,14 +315,9 @@ packaging==25.0 # twine path==16.16.0 # via edx-i18n-tools -pbr==6.1.1 - # via - # -r requirements/quality.txt - # -r requirements/test.txt - # stevedore -pip-tools==7.4.1 +pip-tools==7.5.1 # via -r requirements/pip-tools.txt -platformdirs==4.3.8 +platformdirs==4.5.0 # via # -r requirements/ci.txt # -r requirements/quality.txt @@ -340,20 +335,20 @@ pluggy==1.6.0 # tox polib==1.2.0 # via edx-i18n-tools -prompt-toolkit==3.0.51 +prompt-toolkit==3.0.52 # via # -r requirements/quality.txt # -r requirements/test.txt # click-repl pycodestyle==2.14.0 # via -r requirements/quality.txt -pycparser==2.22 +pycparser==2.23 # via # -r requirements/quality.txt # cffi pydocstyle==6.3.0 # via -r requirements/quality.txt -pygments==2.19.1 +pygments==2.19.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -361,8 +356,9 @@ pygments==2.19.1 # pytest # readme-renderer # rich -pylint==3.3.7 +pylint==3.3.9 # via + # -c requirements/constraints.txt # -r requirements/quality.txt # edx-lint # pylint-celery @@ -376,17 +372,17 @@ pylint-django==2.6.1 # via # -r requirements/quality.txt # edx-lint -pylint-plugin-utils==0.8.2 +pylint-plugin-utils==0.9.0 # via # -r requirements/quality.txt # pylint-celery # pylint-django -pymongo==4.13.2 +pymongo==4.15.3 # via # -r requirements/quality.txt # -r requirements/test.txt # edx-opaque-keys -pyproject-api==1.9.1 +pyproject-api==1.10.0 # via # -r requirements/ci.txt # tox @@ -395,13 +391,13 @@ pyproject-hooks==1.2.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.4.1 +pytest==8.4.2 # via # -r requirements/quality.txt # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==6.2.1 +pytest-cov==7.0.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -425,7 +421,7 @@ pytz==2025.2 # -r requirements/quality.txt # -r requirements/test.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -436,7 +432,7 @@ readme-renderer==44.0 # via # -r requirements/quality.txt # twine -requests==2.32.4 +requests==2.32.5 # via # -r requirements/ci.txt # -r requirements/quality.txt @@ -453,20 +449,20 @@ rfc3986==2.0.0 # via # -r requirements/quality.txt # twine -rich==14.0.0 +rich==14.2.0 # via # -r requirements/quality.txt # twine -s3transfer==0.13.0 +s3transfer==0.14.0 # via # -r requirements/quality.txt # -r requirements/test.txt # boto3 -secretstorage==3.3.3 +secretstorage==3.4.0 # via # -r requirements/quality.txt # keyring -simplejson==3.20.1 +simplejson==3.20.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -490,7 +486,7 @@ sqlparse==0.5.3 # -r requirements/quality.txt # -r requirements/test.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -504,7 +500,7 @@ tomlkit==0.13.3 # via # -r requirements/quality.txt # pylint -tox==4.27.0 +tox==4.31.0 # via # -r requirements/ci.txt # tox-battery @@ -512,9 +508,9 @@ tox-battery==0.6.1 # via -r requirements/dev.in transifex-client==0.12.5 # via -r requirements/dev.in -twine==6.1.0 +twine==6.2.0 # via -r requirements/quality.txt -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -524,9 +520,8 @@ tzdata==2025.2 # -r requirements/quality.txt # -r requirements/test.txt # kombu -urllib3==2.2.3 +urllib3==2.5.0 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/ci.txt # -r requirements/quality.txt # -r requirements/test.txt @@ -541,11 +536,11 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.31.2 +virtualenv==20.35.3 # via # -r requirements/ci.txt # tox -wcwidth==0.2.13 +wcwidth==0.2.14 # via # -r requirements/quality.txt # -r requirements/test.txt diff --git a/requirements/django42.txt b/requirements/django42.txt new file mode 100644 index 0000000..bb879a5 --- /dev/null +++ b/requirements/django42.txt @@ -0,0 +1 @@ +django==4.2.23 \ No newline at end of file diff --git a/requirements/django52.txt b/requirements/django52.txt new file mode 100644 index 0000000..9109eb2 --- /dev/null +++ b/requirements/django52.txt @@ -0,0 +1 @@ +django==5.2.7 diff --git a/requirements/doc.txt b/requirements/doc.txt index 543ecb8..13792df 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -14,36 +14,36 @@ appdirs==1.4.4 # via # -r requirements/test.txt # fs -asgiref==3.8.1 +asgiref==3.10.0 # via # -r requirements/test.txt # django babel==2.17.0 # via sphinx -billiard==4.2.1 +billiard==4.2.2 # via # -r requirements/test.txt # celery -boto3==1.38.41 +boto3==1.40.51 # via # -r requirements/test.txt # fs-s3fs -botocore==1.38.41 +botocore==1.40.51 # via # -r requirements/test.txt # boto3 # s3transfer celery==5.5.3 # via -r requirements/test.txt -certifi==2025.6.15 +certifi==2025.10.5 # via # -r requirements/test.txt # requests -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via # -r requirements/test.txt # requests -click==8.2.1 +click==8.3.0 # via # -r requirements/test.txt # celery @@ -54,7 +54,7 @@ click-didyoumean==0.3.1 # via # -r requirements/test.txt # celery -click-plugins==1.1.1 +click-plugins==1.1.1.2 # via # -r requirements/test.txt # celery @@ -62,22 +62,22 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via # -r requirements/test.txt # pytest-cov -django==4.2.23 +django==5.2.7 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/test.txt # openedx-django-pyfs -dnspython==2.7.0 +dnspython==2.8.0 # via # -r requirements/test.txt # pymongo doc8==2.0.0 # via -r requirements/doc.in -docutils==0.21.2 +docutils==0.19 # via # doc8 # readme-renderer @@ -97,7 +97,7 @@ fs-s3fs==1.1.1 # via # -r requirements/test.txt # openedx-django-pyfs -idna==3.10 +idna==3.11 # via # -r requirements/test.txt # requests @@ -122,7 +122,7 @@ lazy==1.6 # via # -r requirements/test.txt # xblock -lxml==5.4.0 +lxml==6.0.2 # via # -r requirements/test.txt # xblock @@ -131,13 +131,13 @@ mako==1.3.10 # -r requirements/test.txt # xblock # xblock-utils -markupsafe==3.0.2 +markupsafe==3.0.3 # via # -r requirements/test.txt # jinja2 # mako # xblock -nh3==0.2.21 +nh3==0.3.1 # via readme-renderer openedx-django-pyfs==3.8.0 # via @@ -149,36 +149,32 @@ packaging==25.0 # kombu # pytest # sphinx -pbr==6.1.1 - # via - # -r requirements/test.txt - # stevedore pluggy==1.6.0 # via # -r requirements/test.txt # pytest # pytest-cov -prompt-toolkit==3.0.51 +prompt-toolkit==3.0.52 # via # -r requirements/test.txt # click-repl -pygments==2.19.1 +pygments==2.19.2 # via # -r requirements/test.txt # doc8 # pytest # readme-renderer # sphinx -pymongo==4.13.2 +pymongo==4.15.3 # via # -r requirements/test.txt # edx-opaque-keys -pytest==8.4.1 +pytest==8.4.2 # via # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==6.2.1 +pytest-cov==7.0.0 # via -r requirements/test.txt pytest-django==4.11.1 # via -r requirements/test.txt @@ -192,23 +188,23 @@ pytz==2025.2 # via # -r requirements/test.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/test.txt # xblock -readme-renderer==44.0 +readme-renderer==43.0 # via -r requirements/doc.in -requests==2.32.4 +requests==2.32.5 # via # -r requirements/test.txt # sphinx restructuredtext-lint==1.4.0 # via doc8 -s3transfer==0.13.0 +s3transfer==0.14.0 # via # -r requirements/test.txt # boto3 -simplejson==3.20.1 +simplejson==3.20.2 # via # -r requirements/test.txt # xblock @@ -222,7 +218,7 @@ six==1.17.0 # python-dateutil snowballstemmer==3.0.1 # via sphinx -sphinx==3.5.3 +sphinx==5.3.0 # via # -r requirements/doc.in # edx-sphinx-theme @@ -242,12 +238,12 @@ sqlparse==0.5.3 # via # -r requirements/test.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via # -r requirements/test.txt # doc8 # edx-opaque-keys -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -r requirements/test.txt # edx-opaque-keys @@ -255,9 +251,8 @@ tzdata==2025.2 # via # -r requirements/test.txt # kombu -urllib3==2.2.3 +urllib3==2.5.0 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # botocore # requests @@ -267,7 +262,7 @@ vine==5.1.0 # amqp # celery # kombu -wcwidth==0.2.13 +wcwidth==0.2.14 # via # -r requirements/test.txt # prompt-toolkit diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 990b423..e97cb1b 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,13 +4,13 @@ # # make upgrade # -build==1.2.2.post1 +build==1.3.0 # via pip-tools -click==8.2.1 +click==8.3.0 # via pip-tools packaging==25.0 # via build -pip-tools==7.4.1 +pip-tools==7.5.1 # via -r requirements/pip-tools.in pyproject-hooks==1.2.0 # via diff --git a/requirements/pip.txt b/requirements/pip.txt index 5f2211c..dec1587 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -8,7 +8,7 @@ wheel==0.45.1 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==25.1.1 +pip==25.2 # via -r requirements/pip.in setuptools==80.9.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index f01c468..cbf35a4 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -12,42 +12,42 @@ appdirs==1.4.4 # via # -r requirements/test.txt # fs -asgiref==3.8.1 +asgiref==3.10.0 # via # -r requirements/test.txt # django -astroid==3.3.10 +astroid==3.3.11 # via # pylint # pylint-celery backports-tarfile==1.2.0 # via jaraco-context -billiard==4.2.1 +billiard==4.2.2 # via # -r requirements/test.txt # celery -boto3==1.38.41 +boto3==1.40.51 # via # -r requirements/test.txt # fs-s3fs -botocore==1.38.41 +botocore==1.40.51 # via # -r requirements/test.txt # boto3 # s3transfer celery==5.5.3 # via -r requirements/test.txt -certifi==2025.6.15 +certifi==2025.10.5 # via # -r requirements/test.txt # requests -cffi==1.17.1 +cffi==2.0.0 # via cryptography -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via # -r requirements/test.txt # requests -click==8.2.1 +click==8.3.0 # via # -r requirements/test.txt # celery @@ -63,7 +63,7 @@ click-didyoumean==0.3.1 # celery click-log==0.4.0 # via edx-lint -click-plugins==1.1.1 +click-plugins==1.1.1.2 # via # -r requirements/test.txt # celery @@ -73,24 +73,24 @@ click-repl==0.3.0 # celery code-annotations==2.3.0 # via edx-lint -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via # -r requirements/test.txt # pytest-cov -cryptography==45.0.4 +cryptography==46.0.2 # via secretstorage dill==0.4.0 # via pylint -django==4.2.23 +django==5.2.7 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/test.txt # openedx-django-pyfs -dnspython==2.7.0 +dnspython==2.8.0 # via # -r requirements/test.txt # pymongo -docutils==0.21.2 +docutils==0.22.2 # via readme-renderer edx-lint==5.6.0 # via -r requirements/quality.in @@ -108,7 +108,7 @@ fs-s3fs==1.1.1 # openedx-django-pyfs id==1.5.0 # via twine -idna==3.10 +idna==3.11 # via # -r requirements/test.txt # requests @@ -118,7 +118,7 @@ iniconfig==2.1.0 # via # -r requirements/test.txt # pytest -isort==6.0.1 +isort==6.1.0 # via # -r requirements/quality.in # pylint @@ -126,7 +126,7 @@ jaraco-classes==3.4.0 # via keyring jaraco-context==6.0.1 # via keyring -jaraco-functools==4.1.0 +jaraco-functools==4.3.0 # via keyring jeepney==0.9.0 # via @@ -149,7 +149,7 @@ lazy==1.6 # via # -r requirements/test.txt # xblock -lxml==5.4.0 +lxml==6.0.2 # via # -r requirements/test.txt # xblock @@ -158,9 +158,9 @@ mako==1.3.10 # -r requirements/test.txt # xblock # xblock-utils -markdown-it-py==3.0.0 +markdown-it-py==4.0.0 # via rich -markupsafe==3.0.2 +markupsafe==3.0.3 # via # -r requirements/test.txt # jinja2 @@ -170,11 +170,11 @@ mccabe==0.7.0 # via pylint mdurl==0.1.2 # via markdown-it-py -more-itertools==10.7.0 +more-itertools==10.8.0 # via # jaraco-classes # jaraco-functools -nh3==0.2.21 +nh3==0.3.1 # via readme-renderer openedx-django-pyfs==3.8.0 # via @@ -186,35 +186,32 @@ packaging==25.0 # kombu # pytest # twine -pbr==6.1.1 - # via - # -r requirements/test.txt - # stevedore -platformdirs==4.3.8 +platformdirs==4.5.0 # via pylint pluggy==1.6.0 # via # -r requirements/test.txt # pytest # pytest-cov -prompt-toolkit==3.0.51 +prompt-toolkit==3.0.52 # via # -r requirements/test.txt # click-repl pycodestyle==2.14.0 # via -r requirements/quality.in -pycparser==2.22 +pycparser==2.23 # via cffi pydocstyle==6.3.0 # via -r requirements/quality.in -pygments==2.19.1 +pygments==2.19.2 # via # -r requirements/test.txt # pytest # readme-renderer # rich -pylint==3.3.7 +pylint==3.3.9 # via + # -c requirements/constraints.txt # edx-lint # pylint-celery # pylint-django @@ -223,20 +220,20 @@ pylint-celery==0.3 # via edx-lint pylint-django==2.6.1 # via edx-lint -pylint-plugin-utils==0.8.2 +pylint-plugin-utils==0.9.0 # via # pylint-celery # pylint-django -pymongo==4.13.2 +pymongo==4.15.3 # via # -r requirements/test.txt # edx-opaque-keys -pytest==8.4.1 +pytest==8.4.2 # via # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==6.2.1 +pytest-cov==7.0.0 # via -r requirements/test.txt pytest-django==4.11.1 # via -r requirements/test.txt @@ -252,14 +249,14 @@ pytz==2025.2 # via # -r requirements/test.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/test.txt # code-annotations # xblock readme-renderer==44.0 # via twine -requests==2.32.4 +requests==2.32.5 # via # -r requirements/test.txt # id @@ -269,15 +266,15 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==14.0.0 +rich==14.2.0 # via twine -s3transfer==0.13.0 +s3transfer==0.14.0 # via # -r requirements/test.txt # boto3 -secretstorage==3.3.3 +secretstorage==3.4.0 # via keyring -simplejson==3.20.1 +simplejson==3.20.2 # via # -r requirements/test.txt # xblock @@ -295,7 +292,7 @@ sqlparse==0.5.3 # via # -r requirements/test.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via # -r requirements/test.txt # code-annotations @@ -304,9 +301,9 @@ text-unidecode==1.3 # via python-slugify tomlkit==0.13.3 # via pylint -twine==6.1.0 +twine==6.2.0 # via -r requirements/quality.in -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -r requirements/test.txt # edx-opaque-keys @@ -314,9 +311,8 @@ tzdata==2025.2 # via # -r requirements/test.txt # kombu -urllib3==2.2.3 +urllib3==2.5.0 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # botocore # requests @@ -327,7 +323,7 @@ vine==5.1.0 # amqp # celery # kombu -wcwidth==0.2.13 +wcwidth==0.2.14 # via # -r requirements/test.txt # prompt-toolkit diff --git a/requirements/test.txt b/requirements/test.txt index d15520a..5ddcd73 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -10,28 +10,28 @@ appdirs==1.4.4 # via # -r requirements/base.txt # fs -asgiref==3.8.1 +asgiref==3.10.0 # via # -r requirements/base.txt # django -billiard==4.2.1 +billiard==4.2.2 # via celery -boto3==1.38.41 +boto3==1.40.51 # via # -r requirements/base.txt # fs-s3fs -botocore==1.38.41 +botocore==1.40.51 # via # -r requirements/base.txt # boto3 # s3transfer celery==5.5.3 # via -r requirements/test.in -certifi==2025.6.15 +certifi==2025.10.5 # via requests -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via requests -click==8.2.1 +click==8.3.0 # via # celery # click-didyoumean @@ -39,18 +39,17 @@ click==8.2.1 # click-repl click-didyoumean==0.3.1 # via celery -click-plugins==1.1.1 +click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via pytest-cov -django==4.2.23 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/base.txt # openedx-django-pyfs -dnspython==2.7.0 +dnspython==2.8.0 # via pymongo edx-opaque-keys==3.0.0 # via -r requirements/test.in @@ -64,7 +63,7 @@ fs-s3fs==1.1.1 # via # -r requirements/base.txt # openedx-django-pyfs -idna==3.10 +idna==3.11 # via requests iniconfig==2.1.0 # via pytest @@ -79,7 +78,7 @@ lazy==1.6 # via # -r requirements/base.txt # xblock -lxml==5.4.0 +lxml==6.0.2 # via # -r requirements/base.txt # xblock @@ -88,7 +87,7 @@ mako==1.3.10 # -r requirements/base.txt # xblock # xblock-utils -markupsafe==3.0.2 +markupsafe==3.0.3 # via # -r requirements/base.txt # mako @@ -101,23 +100,21 @@ packaging==25.0 # via # kombu # pytest -pbr==6.1.1 - # via stevedore pluggy==1.6.0 # via # pytest # pytest-cov -prompt-toolkit==3.0.51 +prompt-toolkit==3.0.52 # via click-repl -pygments==2.19.1 +pygments==2.19.2 # via pytest -pymongo==4.13.2 +pymongo==4.15.3 # via edx-opaque-keys -pytest==8.4.1 +pytest==8.4.2 # via # pytest-cov # pytest-django -pytest-cov==6.2.1 +pytest-cov==7.0.0 # via -r requirements/test.in pytest-django==4.11.1 # via -r requirements/test.in @@ -131,17 +128,17 @@ pytz==2025.2 # via # -r requirements/base.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/base.txt # xblock -requests==2.32.4 +requests==2.32.5 # via -r requirements/test.in -s3transfer==0.13.0 +s3transfer==0.14.0 # via # -r requirements/base.txt # boto3 -simplejson==3.20.1 +simplejson==3.20.2 # via # -r requirements/base.txt # xblock @@ -156,15 +153,14 @@ sqlparse==0.5.3 # via # -r requirements/base.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via edx-opaque-keys -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via edx-opaque-keys tzdata==2025.2 # via kombu -urllib3==2.2.3 +urllib3==2.5.0 # via - # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt # botocore # requests @@ -173,7 +169,7 @@ vine==5.1.0 # amqp # celery # kombu -wcwidth==0.2.13 +wcwidth==0.2.14 # via prompt-toolkit web-fragments==3.1.0 # via diff --git a/requirements/tox.txt b/requirements/tox.txt index 6f56498..cd4c8c9 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -4,15 +4,15 @@ # # make upgrade # -cachetools==6.1.0 +cachetools==6.2.1 # via tox chardet==5.2.0 # via tox colorama==0.4.6 # via tox -distlib==0.3.9 +distlib==0.4.0 # via virtualenv -filelock==3.18.0 +filelock==3.20.0 # via # tox # virtualenv @@ -20,15 +20,15 @@ packaging==25.0 # via # pyproject-api # tox -platformdirs==4.3.8 +platformdirs==4.5.0 # via # tox # virtualenv pluggy==1.6.0 # via tox -pyproject-api==1.9.1 +pyproject-api==1.10.0 # via tox -tox==4.27.0 +tox==4.31.0 # via -r requirements/tox.in -virtualenv==20.31.2 +virtualenv==20.35.3 # via tox diff --git a/setup.py b/setup.py index dfc03bc..94c843d 100755 --- a/setup.py +++ b/setup.py @@ -103,8 +103,8 @@ def package_data(pkg, roots): '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.11', + 'Programming Language :: Python :: 3.12', ], entry_points={ 'xblock.v1': [ diff --git a/tox.ini b/tox.ini index a137c2d..0d1bb23 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,8 @@ [tox] -envlist = py{311}-django{42} +envlist = + py311-django42 + py311-django52 + py312-django52 [doc8] ; D001 = Line too long @@ -39,8 +42,10 @@ setenv = DJANGO_SETTINGS_MODULE = webhook_xblock.settings.test envdir= py311: {toxworkdir}/py311 + py312: {toxworkdir}/py312 deps = - django42: Django>=4.2,<5.0 + django42: -r requirements/django42.txt + django52: -r requirements/django52.txt -r{toxinidir}/requirements/test.txt commands = {posargs} diff --git a/webhook_xblock/__init__.py b/webhook_xblock/__init__.py index a30e919..22e5548 100644 --- a/webhook_xblock/__init__.py +++ b/webhook_xblock/__init__.py @@ -3,4 +3,4 @@ """ from .webhook_xblock import WebhookXblock -__version__ = '1.1.0' +__version__ = '1.2.0'