From 3b219ef427f0a2d1c474f61f410554081d201c6f Mon Sep 17 00:00:00 2001 From: Jose Ignacio Palma Date: Tue, 14 Oct 2025 19:21:37 +0200 Subject: [PATCH] chore: add support for Python 3.12 and Django 5.2 --- .github/workflows/ci.yml | 11 ++-- .github/workflows/pypi-publish.yml | 4 +- CHANGELOG.rst | 8 +++ Makefile | 5 +- mindmap/__init__.py | 2 +- requirements/base.txt | 29 ++++----- requirements/ci.txt | 41 ++++++------ requirements/constraints.txt | 15 ++++- requirements/dev.txt | 100 ++++++++++++++--------------- requirements/django42.txt | 1 + requirements/django52.txt | 1 + requirements/doc.txt | 81 +++++++++++------------ requirements/pip-tools.txt | 6 +- requirements/pip.txt | 6 +- requirements/quality.txt | 58 ++++++++--------- requirements/test.txt | 41 ++++++------ setup.py | 5 +- tox.ini | 8 ++- 18 files changed, 215 insertions(+), 207 deletions(-) create mode 100644 requirements/django42.txt create mode 100644 requirements/django52.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbf353f..7255173 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,13 +15,16 @@ jobs: strategy: matrix: os: [ubuntu-22.04 - python-version: ['3.11'] - toxenv: [quality, docs, django42] + python-version: ['3.11', '3.12'] + toxenv: [quality, docs, django42, django52] + exclude: + - python-version: '3.12' + toxenv: 'django42' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: setup python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index 3d9bb40..21265ba 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -11,9 +11,9 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: setup python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.11 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 2f444a1..21fb4c9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,14 @@ Change Log Unreleased ********** +2.2.0 - 2025-10-14 +********************************************** + +Changed +======= + +* **Ulmo Support**: Upgrade requirements base on edx-platform Ulmo release, update GitHub Workflows with new actions version. + 2.1.0 - 2025-06-22 ********************************************** diff --git a/Makefile b/Makefile index 038163c..e49357f 100644 --- a/Makefile +++ b/Makefile @@ -34,8 +34,9 @@ upgrade: ## update the requirements/*.txt files with the latest packages satisfy $(PIP_COMPILE) -o requirements/quality.txt requirements/quality.in $(PIP_COMPILE) -o requirements/ci.txt requirements/ci.in $(PIP_COMPILE) -o requirements/dev.txt requirements/dev.in - # Let tox control the Django version for tests - sed '/^[dD]jango==/d' requirements/test.txt > requirements/test.tmp + + 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 piptools: ## install pinned version of pip-compile and pip-sync diff --git a/mindmap/__init__.py b/mindmap/__init__.py index 89a07dc..cfa0129 100644 --- a/mindmap/__init__.py +++ b/mindmap/__init__.py @@ -4,4 +4,4 @@ from .mindmap import MindMapXBlock -__version__ = '2.1.0' +__version__ = '2.2.0' diff --git a/requirements/base.txt b/requirements/base.txt index 16b0a04..db8ae66 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.40 +boto3==1.40.51 # via fs-s3fs -botocore==1.38.40 +botocore==1.40.51 # via # boto3 # s3transfer -django==4.2.23 +django==5.2.7 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # django-appconf # django-model-utils # django-statici18n @@ -32,13 +32,13 @@ django-model-utils==5.0.0 # via edx-submissions django-statici18n==2.6.0 # via -r requirements/base.in -djangorestframework==3.16.0 +djangorestframework==3.16.1 # via edx-submissions edx-django-release-util==1.5.0 # via edx-submissions edx-i18n-tools==1.9.0 # via -r requirements/base.in -edx-submissions==3.11.1 +edx-submissions==3.12.0 # via -r requirements/base.in fs==2.4.16 # via @@ -51,23 +51,23 @@ jmespath==1.0.1 # via # boto3 # botocore -jsonfield==3.1.0 +jsonfield==3.2.0 # via edx-submissions lazy==1.6 # via xblock -lxml[html-clean,html_clean]==5.4.0 +lxml[html-clean]==6.0.2 # via # 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 # -r requirements/base.in # xblock # xblock-utils -markupsafe==3.0.2 +markupsafe==3.0.3 # via # mako # xblock @@ -85,14 +85,14 @@ pytz==2025.2 # via # edx-submissions # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # edx-django-release-util # edx-i18n-tools # xblock -s3transfer==0.13.0 +s3transfer==0.14.0 # via boto3 -simplejson==3.20.1 +simplejson==3.20.2 # via # xblock # xblock-utils @@ -106,7 +106,6 @@ sqlparse==0.5.3 # via django urllib3==2.2.3 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -c requirements/constraints.txt # botocore web-fragments==3.1.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index 6c04269..a1970be 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -6,25 +6,25 @@ # backports-tarfile==1.2.0 # via jaraco-context -certifi==2025.6.15 +certifi==2025.10.5 # via requests -cffi==1.17.1 +cffi==2.0.0 # via cryptography -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via requests -cryptography==45.0.4 +cryptography==46.0.2 # via secretstorage -distlib==0.3.9 +distlib==0.4.0 # via virtualenv -docutils==0.21.2 +docutils==0.22.2 # via readme-renderer -filelock==3.18.0 +filelock==3.20.0 # via # tox # virtualenv id==1.5.0 # via twine -idna==3.10 +idna==3.11 # via requests importlib-metadata==8.7.0 # via keyring @@ -32,7 +32,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 @@ -40,22 +40,22 @@ jeepney==0.9.0 # secretstorage keyring==25.6.0 # via twine -markdown-it-py==3.0.0 +markdown-it-py==4.0.0 # via rich 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 packaging==25.0 # via # pyproject-api # tox # twine -platformdirs==4.3.8 +platformdirs==4.5.0 # via # tox # virtualenv @@ -63,15 +63,15 @@ pluggy==1.6.0 # via tox py==1.11.0 # via tox -pycparser==2.22 +pycparser==2.23 # via cffi -pygments==2.19.1 +pygments==2.19.2 # via # readme-renderer # rich readme-renderer==44.0 # via twine -requests==2.32.4 +requests==2.32.5 # via # id # requests-toolbelt @@ -80,9 +80,9 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==14.0.0 +rich==14.2.0 # via twine -secretstorage==3.3.3 +secretstorage==3.4.0 # via keyring six==1.17.0 # via tox @@ -92,15 +92,14 @@ tox==3.28.0 # tox-battery tox-battery==0.6.2 # via -r requirements/ci.in -twine==6.1.0 +twine==6.2.0 # via -r requirements/ci.in urllib3==2.2.3 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -c requirements/constraints.txt # requests # twine -virtualenv==20.31.2 +virtualenv==20.35.3 # via tox zipp==3.23.0 # via importlib-metadata diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 0fd6256..b1fd09f 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -8,8 +8,19 @@ # pin when possible. Writing an issue against the offending project and # linking to it here is good. -# Common constraints for edx repos --c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt +# 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 # Cause: https://github.com/openedx/edx-lint/issues/475 # This can be unpinned once https://github.com/openedx/edx-lint/issues/476 has been resolved. diff --git a/requirements/dev.txt b/requirements/dev.txt index e6bffc0..84724cd 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,11 +8,11 @@ appdirs==1.4.4 # via # -r requirements/quality.txt # fs -asgiref==3.8.1 +asgiref==3.10.0 # via # -r requirements/quality.txt # django -astroid==3.3.10 +astroid==3.3.11 # via # -r requirements/quality.txt # pylint @@ -21,34 +21,34 @@ backports-tarfile==1.2.0 # via # -r requirements/ci.txt # jaraco-context -boto3==1.38.40 +boto3==1.40.51 # via # -r requirements/quality.txt # fs-s3fs -botocore==1.38.40 +botocore==1.40.51 # via # -r requirements/quality.txt # boto3 # s3transfer -build==1.2.2.post1 +build==1.3.0 # via # -r requirements/pip-tools.txt # pip-tools -certifi==2025.6.15 +certifi==2025.10.5 # via # -r requirements/ci.txt # requests -cffi==1.17.1 +cffi==2.0.0 # via # -r requirements/ci.txt # cryptography chardet==5.2.0 # via diff-cover -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via # -r requirements/ci.txt # requests -click==8.2.1 +click==8.3.0 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt @@ -64,29 +64,29 @@ code-annotations==2.3.0 # via # -r requirements/quality.txt # edx-lint -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via # -r requirements/quality.txt # pytest-cov -cryptography==45.0.4 +cryptography==46.0.2 # via # -r requirements/ci.txt # secretstorage ddt==1.7.2 # via -r requirements/quality.txt -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/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/quality.txt # django-appconf # django-model-utils @@ -107,11 +107,11 @@ django-model-utils==5.0.0 # edx-submissions django-statici18n==2.6.0 # via -r requirements/quality.txt -djangorestframework==3.16.0 +djangorestframework==3.16.1 # via # -r requirements/quality.txt # edx-submissions -docutils==0.21.2 +docutils==0.22.2 # via # -r requirements/ci.txt # readme-renderer @@ -125,9 +125,9 @@ edx-i18n-tools==1.9.0 # -r requirements/quality.txt edx-lint==5.6.0 # via -r requirements/quality.txt -edx-submissions==3.11.1 +edx-submissions==3.12.0 # via -r requirements/quality.txt -filelock==3.18.0 +filelock==3.20.0 # via # -r requirements/ci.txt # tox @@ -146,7 +146,7 @@ id==1.5.0 # via # -r requirements/ci.txt # twine -idna==3.10 +idna==3.11 # via # -r requirements/ci.txt # requests @@ -158,7 +158,7 @@ iniconfig==2.1.0 # via # -r requirements/quality.txt # pytest -isort==6.0.1 +isort==6.1.0 # via # -r requirements/quality.txt # pylint @@ -170,7 +170,7 @@ jaraco-context==6.0.1 # via # -r requirements/ci.txt # keyring -jaraco-functools==4.1.0 +jaraco-functools==4.3.0 # via # -r requirements/ci.txt # keyring @@ -189,7 +189,7 @@ jmespath==1.0.1 # -r requirements/quality.txt # boto3 # botocore -jsonfield==3.1.0 +jsonfield==3.2.0 # via # -r requirements/quality.txt # edx-submissions @@ -201,13 +201,13 @@ lazy==1.6 # via # -r requirements/quality.txt # xblock -lxml[html-clean]==5.4.0 +lxml[html-clean]==6.0.2 # via # -r requirements/quality.txt # edx-i18n-tools # lxml-html-clean # xblock -lxml-html-clean==0.4.2 +lxml-html-clean==0.4.3 # via # -r requirements/quality.txt # lxml @@ -216,11 +216,11 @@ mako==1.3.10 # -r requirements/quality.txt # xblock # xblock-utils -markdown-it-py==3.0.0 +markdown-it-py==4.0.0 # via # -r requirements/ci.txt # rich -markupsafe==3.0.2 +markupsafe==3.0.3 # via # -r requirements/quality.txt # jinja2 @@ -234,12 +234,12 @@ mdurl==0.1.2 # via # -r requirements/ci.txt # markdown-it-py -more-itertools==10.7.0 +more-itertools==10.8.0 # via # -r requirements/ci.txt # jaraco-classes # jaraco-functools -nh3==0.2.21 +nh3==0.3.1 # via # -r requirements/ci.txt # readme-renderer @@ -260,13 +260,9 @@ path==16.16.0 # via # -r requirements/quality.txt # edx-i18n-tools -pbr==6.1.1 - # via - # -r requirements/quality.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 @@ -288,15 +284,15 @@ py==1.11.0 # via # -r requirements/ci.txt # tox -pycodestyle==2.13.0 +pycodestyle==2.14.0 # via -r requirements/quality.txt -pycparser==2.22 +pycparser==2.23 # via # -r requirements/ci.txt # cffi pydocstyle==6.3.0 # via -r requirements/quality.txt -pygments==2.19.1 +pygments==2.19.2 # via # -r requirements/ci.txt # -r requirements/quality.txt @@ -304,8 +300,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 @@ -319,7 +316,7 @@ 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 @@ -329,12 +326,12 @@ 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 # pytest-cov # pytest-django -pytest-cov==6.2.1 +pytest-cov==7.0.0 # via -r requirements/quality.txt pytest-django==4.11.1 # via -r requirements/quality.txt @@ -352,7 +349,7 @@ pytz==2025.2 # -r requirements/quality.txt # edx-submissions # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/quality.txt # code-annotations @@ -363,7 +360,7 @@ readme-renderer==44.0 # via # -r requirements/ci.txt # twine -requests==2.32.4 +requests==2.32.5 # via # -r requirements/ci.txt # id @@ -377,19 +374,19 @@ rfc3986==2.0.0 # via # -r requirements/ci.txt # twine -rich==14.0.0 +rich==14.2.0 # via # -r requirements/ci.txt # twine -s3transfer==0.13.0 +s3transfer==0.14.0 # via # -r requirements/quality.txt # boto3 -secretstorage==3.3.3 +secretstorage==3.4.0 # via # -r requirements/ci.txt # keyring -simplejson==3.20.1 +simplejson==3.20.2 # via # -r requirements/quality.txt # xblock @@ -412,7 +409,7 @@ sqlparse==0.5.3 # via # -r requirements/quality.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via # -r requirements/quality.txt # code-annotations @@ -430,18 +427,17 @@ tox==3.28.0 # tox-battery tox-battery==0.6.2 # via -r requirements/ci.txt -twine==6.1.0 +twine==6.2.0 # via -r requirements/ci.txt urllib3==2.2.3 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -c requirements/constraints.txt # -r requirements/ci.txt # -r requirements/quality.txt # botocore # requests # twine -virtualenv==20.31.2 +virtualenv==20.35.3 # via # -r requirements/ci.txt # tox 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 7e39c28..30a6ef7 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -12,7 +12,7 @@ appdirs==1.4.4 # via # -r requirements/test.txt # fs -asgiref==3.8.1 +asgiref==3.10.0 # via # -r requirements/test.txt # django @@ -22,42 +22,42 @@ babel==2.17.0 # sphinx backports-tarfile==1.2.0 # via jaraco-context -beautifulsoup4==4.13.4 +beautifulsoup4==4.14.2 # via pydata-sphinx-theme -boto3==1.38.40 +boto3==1.40.51 # via # -r requirements/test.txt # fs-s3fs -botocore==1.38.40 +botocore==1.40.51 # via # -r requirements/test.txt # boto3 # s3transfer -build==1.2.2.post1 +build==1.3.0 # via -r requirements/doc.in -certifi==2025.6.15 +certifi==2025.10.5 # via requests -cffi==1.17.1 +cffi==2.0.0 # via cryptography -charset-normalizer==3.4.2 +charset-normalizer==3.4.4 # via requests -click==8.2.1 +click==8.3.0 # via # -r requirements/test.txt # code-annotations code-annotations==2.3.0 # via -r requirements/test.txt -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 ddt==1.7.2 # via -r requirements/test.txt -django==4.2.23 +django==5.2.7 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/test.txt # django-appconf # django-model-utils @@ -78,7 +78,7 @@ django-model-utils==5.0.0 # edx-submissions django-statici18n==2.6.0 # via -r requirements/test.txt -djangorestframework==3.16.0 +djangorestframework==3.16.1 # via # -r requirements/test.txt # edx-submissions @@ -97,7 +97,7 @@ edx-django-release-util==1.5.0 # edx-submissions edx-i18n-tools==1.9.0 # via -r requirements/test.txt -edx-submissions==3.11.1 +edx-submissions==3.12.0 # via -r requirements/test.txt fs==2.4.16 # via @@ -111,7 +111,7 @@ fs-s3fs==1.1.1 # openedx-django-pyfs id==1.5.0 # via twine -idna==3.10 +idna==3.11 # via requests imagesize==1.4.1 # via sphinx @@ -125,7 +125,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 @@ -141,7 +141,7 @@ jmespath==1.0.1 # -r requirements/test.txt # boto3 # botocore -jsonfield==3.1.0 +jsonfield==3.2.0 # via # -r requirements/test.txt # edx-submissions @@ -151,13 +151,13 @@ lazy==1.6 # via # -r requirements/test.txt # xblock -lxml[html-clean]==5.4.0 +lxml[html-clean]==6.0.2 # via # -r requirements/test.txt # edx-i18n-tools # lxml-html-clean # xblock -lxml-html-clean==0.4.2 +lxml-html-clean==0.4.3 # via # -r requirements/test.txt # lxml @@ -166,9 +166,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 @@ -176,11 +176,11 @@ markupsafe==3.0.2 # xblock 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 @@ -198,10 +198,6 @@ path==16.16.0 # via # -r requirements/test.txt # edx-i18n-tools -pbr==6.1.1 - # via - # -r requirements/test.txt - # stevedore pluggy==1.6.0 # via # -r requirements/test.txt @@ -211,11 +207,11 @@ polib==1.2.0 # via # -r requirements/test.txt # edx-i18n-tools -pycparser==2.22 +pycparser==2.23 # via cffi pydata-sphinx-theme==0.15.4 # via sphinx-book-theme -pygments==2.19.1 +pygments==2.19.2 # via # -r requirements/test.txt # accessible-pygments @@ -227,12 +223,12 @@ pygments==2.19.1 # sphinx pyproject-hooks==1.2.0 # via build -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 @@ -250,7 +246,7 @@ pytz==2025.2 # -r requirements/test.txt # edx-submissions # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/test.txt # code-annotations @@ -259,7 +255,7 @@ pyyaml==6.0.2 # xblock readme-renderer==44.0 # via twine -requests==2.32.4 +requests==2.32.5 # via # id # requests-toolbelt @@ -271,17 +267,17 @@ restructuredtext-lint==1.4.0 # via doc8 rfc3986==2.0.0 # via twine -rich==14.0.0 +rich==14.2.0 # via twine roman-numerals-py==3.1.0 # via sphinx -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 +291,7 @@ six==1.17.0 # python-dateutil snowballstemmer==3.0.1 # via sphinx -soupsieve==2.7 +soupsieve==2.8 # via beautifulsoup4 sphinx==8.2.3 # via @@ -320,7 +316,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 @@ -329,15 +325,14 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -twine==6.1.0 +twine==6.2.0 # via -r requirements/doc.in -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # beautifulsoup4 # pydata-sphinx-theme urllib3==2.2.3 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -c requirements/constraints.txt # -r requirements/test.txt # botocore 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 e109db2..dec1587 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -8,9 +8,7 @@ wheel==0.45.1 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==24.2 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/pip.in +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 8db3d79..917bf03 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -8,24 +8,24 @@ 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 -boto3==1.38.40 +boto3==1.40.51 # via # -r requirements/test.txt # fs-s3fs -botocore==1.38.40 +botocore==1.40.51 # via # -r requirements/test.txt # boto3 # s3transfer -click==8.2.1 +click==8.3.0 # via # -r requirements/test.txt # click-log @@ -37,7 +37,7 @@ code-annotations==2.3.0 # via # -r requirements/test.txt # edx-lint -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via # -r requirements/test.txt # pytest-cov @@ -45,9 +45,9 @@ ddt==1.7.2 # via -r requirements/test.txt dill==0.4.0 # via pylint -django==4.2.23 +django==5.2.7 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/test.txt # django-appconf # django-model-utils @@ -68,7 +68,7 @@ django-model-utils==5.0.0 # edx-submissions django-statici18n==2.6.0 # via -r requirements/test.txt -djangorestframework==3.16.0 +djangorestframework==3.16.1 # via # -r requirements/test.txt # edx-submissions @@ -80,7 +80,7 @@ edx-i18n-tools==1.9.0 # via -r requirements/test.txt edx-lint==5.6.0 # via -r requirements/quality.in -edx-submissions==3.11.1 +edx-submissions==3.12.0 # via -r requirements/test.txt fs==2.4.16 # via @@ -96,7 +96,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 @@ -109,7 +109,7 @@ jmespath==1.0.1 # -r requirements/test.txt # boto3 # botocore -jsonfield==3.1.0 +jsonfield==3.2.0 # via # -r requirements/test.txt # edx-submissions @@ -117,13 +117,13 @@ lazy==1.6 # via # -r requirements/test.txt # xblock -lxml[html-clean]==5.4.0 +lxml[html-clean]==6.0.2 # via # -r requirements/test.txt # edx-i18n-tools # lxml-html-clean # xblock -lxml-html-clean==0.4.2 +lxml-html-clean==0.4.3 # via # -r requirements/test.txt # lxml @@ -132,7 +132,7 @@ 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 @@ -152,11 +152,7 @@ path==16.16.0 # via # -r requirements/test.txt # edx-i18n-tools -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 @@ -167,16 +163,17 @@ polib==1.2.0 # via # -r requirements/test.txt # edx-i18n-tools -pycodestyle==2.13.0 +pycodestyle==2.14.0 # via -r requirements/quality.in pydocstyle==6.3.0 # via -r requirements/quality.in -pygments==2.19.1 +pygments==2.19.2 # via # -r requirements/test.txt # pytest -pylint==3.3.7 +pylint==3.3.9 # via + # -c requirements/constraints.txt # edx-lint # pylint-celery # pylint-django @@ -185,16 +182,16 @@ 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 -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 @@ -212,18 +209,18 @@ pytz==2025.2 # -r requirements/test.txt # edx-submissions # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/test.txt # code-annotations # edx-django-release-util # edx-i18n-tools # xblock -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 @@ -242,7 +239,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 @@ -254,7 +251,6 @@ tomlkit==0.13.3 # via pylint urllib3==2.2.3 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -c requirements/constraints.txt # -r requirements/test.txt # botocore diff --git a/requirements/test.txt b/requirements/test.txt index 2b85b19..39b16e2 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -8,29 +8,29 @@ appdirs==1.4.4 # via # -r requirements/base.txt # fs -asgiref==3.8.1 +asgiref==3.10.0 # via # -r requirements/base.txt # django -boto3==1.38.40 +boto3==1.40.51 # via # -r requirements/base.txt # fs-s3fs -botocore==1.38.40 +botocore==1.40.51 # via # -r requirements/base.txt # boto3 # s3transfer -click==8.2.1 +click==8.3.0 # via code-annotations code-annotations==2.3.0 # via -r requirements/test.in -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via pytest-cov ddt==1.7.2 # via -r requirements/test.in # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/base.txt # django-appconf # django-model-utils @@ -51,7 +51,7 @@ django-model-utils==5.0.0 # edx-submissions django-statici18n==2.6.0 # via -r requirements/base.txt -djangorestframework==3.16.0 +djangorestframework==3.16.1 # via # -r requirements/base.txt # edx-submissions @@ -61,7 +61,7 @@ edx-django-release-util==1.5.0 # edx-submissions edx-i18n-tools==1.9.0 # via -r requirements/base.txt -edx-submissions==3.11.1 +edx-submissions==3.12.0 # via -r requirements/base.txt fs==2.4.16 # via @@ -82,7 +82,7 @@ jmespath==1.0.1 # -r requirements/base.txt # boto3 # botocore -jsonfield==3.1.0 +jsonfield==3.2.0 # via # -r requirements/base.txt # edx-submissions @@ -90,13 +90,13 @@ lazy==1.6 # via # -r requirements/base.txt # xblock -lxml[html-clean]==5.4.0 +lxml[html-clean]==6.0.2 # via # -r requirements/base.txt # edx-i18n-tools # lxml-html-clean # xblock -lxml-html-clean==0.4.2 +lxml-html-clean==0.4.3 # via # -r requirements/base.txt # lxml @@ -105,7 +105,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 # jinja2 @@ -121,8 +121,6 @@ path==16.16.0 # via # -r requirements/base.txt # edx-i18n-tools -pbr==6.1.1 - # via stevedore pluggy==1.6.0 # via # pytest @@ -131,13 +129,13 @@ polib==1.2.0 # via # -r requirements/base.txt # edx-i18n-tools -pygments==2.19.1 +pygments==2.19.2 # via pytest -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 @@ -153,18 +151,18 @@ pytz==2025.2 # -r requirements/base.txt # edx-submissions # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/base.txt # code-annotations # edx-django-release-util # edx-i18n-tools # xblock -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 @@ -180,13 +178,12 @@ sqlparse==0.5.3 # via # -r requirements/base.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via code-annotations text-unidecode==1.3 # via python-slugify urllib3==2.2.3 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -c requirements/constraints.txt # -r requirements/base.txt # botocore diff --git a/setup.py b/setup.py index db81fec..a0134a9 100755 --- a/setup.py +++ b/setup.py @@ -141,11 +141,10 @@ def package_data(pkg, roots): 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', 'Natural Language :: English', - 'Framework :: Django', - 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.2', - 'Programming Language :: Python :: 3', + 'Framework :: Django :: 5.2', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', ], entry_points={ 'xblock.v1': [ diff --git a/tox.ini b/tox.ini index 21f7c45..5e44fa4 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,8 @@ [tox] -envlist = py311-django{42}, quality, docs +envlist = + py311-django42, quality, docs + py311-django52, quality, docs + py312-django52, quality, docs skipsdist = true [doc8] @@ -40,7 +43,8 @@ DJANGO_SETTINGS_MODULE = mindmap.settings.test whitelist_externals = make deps = - django42: Django>=4.2,<5.0 + django42: -r requirements/django42.txt + django52: -r requirements/django52.txt -r{toxinidir}/requirements/test.txt commands = make test