diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bdb5dcd..8173652 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 398cc39..4b832ee 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 69da09b..36196eb 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/imagesgallery/__init__.py b/imagesgallery/__init__.py index ff15133..8b66324 100644 --- a/imagesgallery/__init__.py +++ b/imagesgallery/__init__.py @@ -2,4 +2,4 @@ Init for the ImagesGalleryXBlock package. """ -__version__ = "1.1.0" +__version__ = "1.2.0" diff --git a/requirements/base.txt b/requirements/base.txt index c1ddfb9..e9b22c3 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/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # django-appconf # django-statici18n # edx-i18n-tools @@ -25,7 +25,7 @@ django-appconf==1.1.0 # via django-statici18n django-statici18n==2.6.0 # via -r requirements/base.in -dnspython==2.7.0 +dnspython==2.8.0 # via pymongo edx-i18n-tools==1.9.0 # via -r requirements/base.in @@ -44,19 +44,19 @@ jmespath==1.0.1 # botocore 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 @@ -64,11 +64,9 @@ openedx-django-pyfs==3.8.0 # via xblock path==16.16.0 # via edx-i18n-tools -pbr==6.1.1 - # via stevedore polib==1.2.0 # via edx-i18n-tools -pymongo==4.13.2 +pymongo==4.15.3 # via edx-opaque-keys python-dateutil==2.9.0.post0 # via @@ -76,13 +74,13 @@ python-dateutil==2.9.0.post0 # xblock pytz==2025.2 # via xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # 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 @@ -93,13 +91,12 @@ six==1.17.0 # python-dateutil sqlparse==0.5.3 # via 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 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 fc413f5..74ff1c8 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.41 +boto3==1.40.51 # via # -r requirements/quality.txt # fs-s3fs -botocore==1.38.41 +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,27 +64,27 @@ 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 -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-statici18n @@ -96,11 +96,11 @@ django-appconf==1.1.0 # django-statici18n django-statici18n==2.6.0 # via -r requirements/quality.txt -dnspython==2.7.0 +dnspython==2.8.0 # via # -r requirements/quality.txt # pymongo -docutils==0.21.2 +docutils==0.22.2 # via # -r requirements/ci.txt # readme-renderer @@ -112,7 +112,7 @@ edx-lint==5.6.0 # via -r requirements/quality.txt edx-opaque-keys==3.0.0 # via -r requirements/quality.txt -filelock==3.18.0 +filelock==3.20.0 # via # -r requirements/ci.txt # tox @@ -131,7 +131,7 @@ id==1.5.0 # via # -r requirements/ci.txt # twine -idna==3.10 +idna==3.11 # via # -r requirements/ci.txt # requests @@ -143,7 +143,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 @@ -155,7 +155,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 @@ -182,13 +182,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 @@ -197,11 +197,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 @@ -215,12 +215,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 @@ -241,13 +241,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 @@ -271,13 +267,13 @@ py==1.11.0 # tox 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 @@ -285,8 +281,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 @@ -300,12 +297,12 @@ 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 # edx-opaque-keys @@ -314,12 +311,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 @@ -336,7 +333,7 @@ pytz==2025.2 # via # -r requirements/quality.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/quality.txt # code-annotations @@ -346,7 +343,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 @@ -360,19 +357,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 @@ -394,7 +391,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 @@ -413,22 +410,21 @@ 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 -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -r requirements/quality.txt # edx-opaque-keys 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 ece41e6..b925817 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,40 +22,40 @@ 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.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 -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 -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-statici18n @@ -67,7 +67,7 @@ django-appconf==1.1.0 # django-statici18n django-statici18n==2.6.0 # via -r requirements/test.txt -dnspython==2.7.0 +dnspython==2.8.0 # via # -r requirements/test.txt # pymongo @@ -96,7 +96,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 @@ -110,7 +110,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 @@ -132,13 +132,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 @@ -147,9 +147,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 @@ -157,11 +157,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 @@ -179,10 +179,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 @@ -192,11 +188,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 @@ -206,18 +202,18 @@ pygments==2.19.1 # readme-renderer # rich # sphinx -pymongo==4.13.2 +pymongo==4.15.3 # via # -r requirements/test.txt # edx-opaque-keys 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 @@ -234,7 +230,7 @@ pytz==2025.2 # via # -r requirements/test.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/test.txt # code-annotations @@ -242,7 +238,7 @@ pyyaml==6.0.2 # xblock readme-renderer==44.0 # via twine -requests==2.32.4 +requests==2.32.5 # via # id # requests-toolbelt @@ -254,17 +250,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 @@ -277,7 +273,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 @@ -302,7 +298,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 @@ -312,9 +308,9 @@ 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 # -r requirements/test.txt # beautifulsoup4 @@ -322,7 +318,6 @@ typing-extensions==4.14.0 # 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 124d29c..7f044ce 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.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 -click==8.2.1 +click==8.3.0 # via # -r requirements/test.txt # click-log @@ -37,15 +37,15 @@ 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 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-statici18n @@ -57,7 +57,7 @@ django-appconf==1.1.0 # django-statici18n django-statici18n==2.6.0 # via -r requirements/test.txt -dnspython==2.7.0 +dnspython==2.8.0 # via # -r requirements/test.txt # pymongo @@ -81,7 +81,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 @@ -98,13 +98,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 @@ -113,7 +113,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 @@ -133,11 +133,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 @@ -152,12 +148,13 @@ 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 @@ -166,20 +163,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 @@ -196,17 +193,17 @@ pytz==2025.2 # via # -r requirements/test.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/test.txt # code-annotations # 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 @@ -224,7 +221,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 @@ -235,13 +232,12 @@ text-unidecode==1.3 # python-slugify tomlkit==0.13.3 # via pylint -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -r requirements/test.txt # edx-opaque-keys 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 35b4abd..e152802 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -8,27 +8,27 @@ 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.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 -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 # 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-statici18n @@ -40,7 +40,7 @@ django-appconf==1.1.0 # django-statici18n django-statici18n==2.6.0 # via -r requirements/base.txt -dnspython==2.7.0 +dnspython==2.8.0 # via # -r requirements/base.txt # pymongo @@ -71,13 +71,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 @@ -86,7 +86,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 @@ -102,10 +102,6 @@ path==16.16.0 # via # -r requirements/base.txt # edx-i18n-tools -pbr==6.1.1 - # via - # -r requirements/base.txt - # stevedore pluggy==1.6.0 # via # pytest @@ -114,17 +110,17 @@ polib==1.2.0 # via # -r requirements/base.txt # edx-i18n-tools -pygments==2.19.1 +pygments==2.19.2 # via pytest -pymongo==4.13.2 +pymongo==4.15.3 # via # -r requirements/base.txt # 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 @@ -139,17 +135,17 @@ pytz==2025.2 # via # -r requirements/base.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/base.txt # code-annotations # 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 @@ -164,20 +160,19 @@ sqlparse==0.5.3 # via # -r requirements/base.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via # -r requirements/base.txt # code-annotations # edx-opaque-keys text-unidecode==1.3 # via python-slugify -typing-extensions==4.14.0 +typing-extensions==4.15.0 # via # -r requirements/base.txt # edx-opaque-keys 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 d91715a..5999b0f 100755 --- a/setup.py +++ b/setup.py @@ -169,10 +169,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 :: 4.2', - 'Programming Language :: Python :: 3', + 'Framework :: Django :: 5.2', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', ], entry_points={ "lms.djangoapp": [ diff --git a/tox.ini b/tox.ini index 0fd30f3..14855bf 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] @@ -33,7 +36,8 @@ match-dir = (?!migrations) [testenv] deps = - django40: Django>=4.2, <5.0 + django42: -r requirements/django42.txt + django52: -r requirements/django52.txt -r{toxinidir}/requirements/test.txt commands = make test