diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd1be8f..d2da562 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.11', '3.12'] + python-version: ['3.12'] toxenv: [quality, django42-drf314, django42-drflatest, django52-drf314, django52-drflatest] steps: @@ -36,7 +36,7 @@ jobs: run: tox - name: Run Coverage - if: matrix.python-version == '3.11' && matrix.toxenv=='django42-drflatest' + if: matrix.python-version == '3.12' && matrix.toxenv=='django42-drflatest' uses: codecov/codecov-action@v5 with: flags: unittests diff --git a/completion/__init__.py b/completion/__init__.py index 2e4cf56..3b3b7bf 100644 --- a/completion/__init__.py +++ b/completion/__init__.py @@ -3,4 +3,4 @@ """ -__version__ = '4.9' +__version__ = '4.9.1' diff --git a/requirements/base.txt b/requirements/base.txt index 4113de0..e71b53b 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -16,13 +16,13 @@ billiard==4.2.4 # via celery celery==5.6.2 # via event-tracking -certifi==2026.1.4 +certifi==2026.2.25 # via requests cffi==2.0.0 # via # cryptography # pynacl -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via requests click==8.3.1 # via @@ -38,11 +38,11 @@ click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via edx-toggles cryptography==46.0.5 # via pyjwt -django==4.2.28 +django==5.2.12 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -86,7 +86,7 @@ edx-django-utils==8.0.1 # openedx-events edx-drf-extensions==10.6.0 # via -r requirements/base.in -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/base.in # edx-ccx-keys @@ -143,7 +143,7 @@ python-dateutil==2.9.0.post0 # xblock python-slugify==8.0.4 # via code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/base.in # event-tracking @@ -166,7 +166,7 @@ six==1.17.0 # python-dateutil sqlparse==0.5.5 # via django -stevedore==5.6.0 +stevedore==5.7.0 # via # code-annotations # edx-django-utils diff --git a/requirements/ci.txt b/requirements/ci.txt index b07c47b..13270bc 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,16 +4,15 @@ # # make upgrade # -cachetools==7.0.1 - # via tox -chardet==5.2.0 +cachetools==7.0.3 # via tox colorama==0.4.6 # via tox distlib==0.4.0 # via virtualenv -filelock==3.20.3 +filelock==3.25.0 # via + # python-discovery # tox # virtualenv mock==5.2.0 @@ -22,15 +21,20 @@ packaging==26.0 # via # pyproject-api # tox -platformdirs==4.5.1 +platformdirs==4.9.4 # via + # python-discovery # tox # virtualenv pluggy==1.6.0 # via tox pyproject-api==1.10.0 # via tox -tox==4.34.1 +python-discovery==1.1.0 + # via virtualenv +tomli-w==1.2.0 + # via tox +tox==4.48.1 # via -r requirements/ci.in -virtualenv==20.36.1 +virtualenv==21.1.0 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 6a83a85..72cc4cc 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -12,15 +12,9 @@ # this file from Github directly. It does not require packaging in edx-lint. # using LTS django version -Django<5.0 +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 - -# pip 26 is incompatible with pip-tools hence causing failures during the build process -# Make upgrade command and all requirements upgrade jobs are broken due to this. -# The constraint can be removed once a release (pip-tools > 7.5.2) is available with support for pip 26 -# Issue to track this dependency and unpin later on: https://github.com/jazzband/pip-tools/issues/2319 -pip<26.0 diff --git a/requirements/dev.txt b/requirements/dev.txt index e4e933c..685fa62 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -20,21 +20,19 @@ billiard==4.2.4 # via celery build==1.4.0 # via pip-tools -cachetools==7.0.1 +cachetools==7.0.3 # via tox celery==5.6.2 # via event-tracking -certifi==2026.1.4 +certifi==2026.2.25 # via requests cffi==2.0.0 # via # cryptography # pynacl -chardet==5.2.0 - # via - # diff-cover - # tox -charset-normalizer==3.4.4 +chardet==7.0.1 + # via diff-cover +charset-normalizer==3.4.5 # via requests click==8.3.1 # via @@ -55,7 +53,7 @@ click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via # edx-lint # edx-toggles @@ -75,7 +73,7 @@ dill==0.4.1 # via pylint distlib==0.4.0 # via virtualenv -django==4.2.28 +django==5.2.12 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -128,7 +126,7 @@ edx-lint==5.6.0 # via # -r requirements/dev.in # -r requirements/quality.in -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/base.in # edx-ccx-keys @@ -142,12 +140,13 @@ event-tracking==3.3.0 # via -r requirements/base.in factory-boy==3.3.3 # via -r requirements/test.in -faker==40.4.0 +faker==40.8.0 # via factory-boy fastavro==1.12.1 # via openedx-events -filelock==3.20.3 +filelock==3.25.0 # via + # python-discovery # tox # virtualenv freezegun==1.5.5 @@ -160,7 +159,7 @@ idna==3.11 # via requests iniconfig==2.3.0 # via pytest -isort==7.0.0 +isort==8.0.1 # via # -r requirements/quality.in # pylint @@ -187,7 +186,7 @@ lxml[html-clean]==6.0.2 # edx-i18n-tools # lxml-html-clean # xblock -lxml-html-clean==0.4.3 +lxml-html-clean==0.4.4 # via lxml mako==1.3.10 # via xblock @@ -208,7 +207,7 @@ more-itertools==10.8.0 # via # jaraco-classes # jaraco-functools -nh3==0.3.2 +nh3==0.3.3 # via readme-renderer openedx-events==10.5.0 # via event-tracking @@ -223,11 +222,12 @@ packaging==26.0 # wheel path==16.16.0 # via edx-i18n-tools -pip-tools==7.5.2 +pip-tools==7.5.3 # via -r requirements/dev.in -platformdirs==4.5.1 +platformdirs==4.9.4 # via # pylint + # python-discovery # tox # virtualenv pluggy==1.6.0 @@ -258,7 +258,7 @@ pyjwt[crypto]==2.11.0 # via # drf-jwt # edx-drf-extensions -pylint==4.0.4 +pylint==4.0.5 # via # edx-lint # pylint-celery @@ -290,16 +290,18 @@ pytest==9.0.2 # pytest-django pytest-cov==7.0.0 # via -r requirements/test.in -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via # celery # freezegun # xblock +python-discovery==1.1.0 + # via virtualenv python-slugify==8.0.4 # via code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/base.in # event-tracking @@ -320,7 +322,7 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==14.3.2 +rich==14.3.3 # via twine secretstorage==3.5.0 # via keyring @@ -339,16 +341,18 @@ snowballstemmer==3.0.1 # via pydocstyle sqlparse==0.5.5 # via django -stevedore==5.6.0 +stevedore==5.7.0 # via # code-annotations # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via python-slugify +tomli-w==1.2.0 + # via tox tomlkit==0.14.0 # via pylint -tox==4.34.1 +tox==4.48.1 # via -r requirements/dev.in twine==6.2.0 # via -r requirements/quality.in @@ -368,7 +372,7 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.36.1 +virtualenv==21.1.0 # via tox wcwidth==0.6.0 # via prompt-toolkit diff --git a/requirements/doc.txt b/requirements/doc.txt index e758018..e7127e1 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -26,13 +26,13 @@ billiard==4.2.4 # via celery celery==5.6.2 # via event-tracking -certifi==2026.1.4 +certifi==2026.2.25 # via requests cffi==2.0.0 # via # cryptography # pynacl -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via requests click==8.3.1 # via @@ -48,7 +48,7 @@ click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via edx-toggles coverage[toml]==7.13.4 # via pytest-cov @@ -56,7 +56,7 @@ cryptography==46.0.5 # via pyjwt ddt==1.7.2 # via -r requirements/test.in -django==4.2.28 +django==5.2.12 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -108,7 +108,7 @@ edx-django-utils==8.0.1 # openedx-events edx-drf-extensions==10.6.0 # via -r requirements/base.in -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/base.in # edx-ccx-keys @@ -122,7 +122,7 @@ event-tracking==3.3.0 # via -r requirements/base.in factory-boy==3.3.3 # via -r requirements/test.in -faker==40.4.0 +faker==40.8.0 # via factory-boy fastavro==1.12.1 # via openedx-events @@ -132,7 +132,7 @@ fs==2.4.16 # via xblock idna==3.11 # via requests -imagesize==1.4.1 +imagesize==2.0.0 # via sphinx iniconfig==2.3.0 # via pytest @@ -196,7 +196,7 @@ pytest==9.0.2 # pytest-django pytest-cov==7.0.0 # via -r requirements/test.in -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via @@ -205,7 +205,7 @@ python-dateutil==2.9.0.post0 # xblock python-slugify==8.0.4 # via code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/base.in # event-tracking @@ -257,7 +257,7 @@ sphinxcontrib-serializinghtml==2.0.0 # via sphinx sqlparse==0.5.5 # via django -stevedore==5.6.0 +stevedore==5.7.0 # via # code-annotations # doc8 diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index a7d4ff5..d89516b 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -12,7 +12,7 @@ packaging==26.0 # via # build # wheel -pip-tools==7.5.2 +pip-tools==7.5.3 # via -r requirements/pip-tools.in pyproject-hooks==1.2.0 # via diff --git a/requirements/pip.txt b/requirements/pip.txt index 6ca7c84..084d708 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -10,9 +10,7 @@ wheel==0.46.3 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==25.3 - # via - # -c requirements/common_constraints.txt - # -r requirements/pip.in +pip==26.0.1 + # via -r requirements/pip.in setuptools==82.0.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index b365869..e241079 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -20,13 +20,13 @@ billiard==4.2.4 # via celery celery==5.6.2 # via event-tracking -certifi==2026.1.4 +certifi==2026.2.25 # via requests cffi==2.0.0 # via # cryptography # pynacl -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via requests click==8.3.1 # via @@ -46,7 +46,7 @@ click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via # edx-lint # edx-toggles @@ -60,7 +60,7 @@ ddt==1.7.2 # via -r requirements/test.in dill==0.4.1 # via pylint -django==4.2.28 +django==5.2.12 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -108,7 +108,7 @@ edx-drf-extensions==10.6.0 # via -r requirements/base.in edx-lint==5.6.0 # via -r requirements/quality.in -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/base.in # edx-ccx-keys @@ -122,7 +122,7 @@ event-tracking==3.3.0 # via -r requirements/base.in factory-boy==3.3.3 # via -r requirements/test.in -faker==40.4.0 +faker==40.8.0 # via factory-boy fastavro==1.12.1 # via openedx-events @@ -136,7 +136,7 @@ idna==3.11 # via requests iniconfig==2.3.0 # via pytest -isort==7.0.0 +isort==8.0.1 # via # -r requirements/quality.in # pylint @@ -177,7 +177,7 @@ more-itertools==10.8.0 # via # jaraco-classes # jaraco-functools -nh3==0.3.2 +nh3==0.3.3 # via readme-renderer openedx-events==10.5.0 # via event-tracking @@ -187,7 +187,7 @@ packaging==26.0 # pytest # twine # wheel -platformdirs==4.5.1 +platformdirs==4.9.4 # via pylint pluggy==1.6.0 # via @@ -212,7 +212,7 @@ pyjwt[crypto]==2.11.0 # via # drf-jwt # edx-drf-extensions -pylint==4.0.4 +pylint==4.0.5 # via # edx-lint # pylint-celery @@ -238,7 +238,7 @@ pytest==9.0.2 # pytest-django pytest-cov==7.0.0 # via -r requirements/test.in -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via @@ -247,7 +247,7 @@ python-dateutil==2.9.0.post0 # xblock python-slugify==8.0.4 # via code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/base.in # event-tracking @@ -267,7 +267,7 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==14.3.2 +rich==14.3.3 # via twine secretstorage==3.5.0 # via keyring @@ -286,7 +286,7 @@ snowballstemmer==3.0.1 # via pydocstyle sqlparse==0.5.5 # via django -stevedore==5.6.0 +stevedore==5.7.0 # via # code-annotations # edx-django-utils diff --git a/requirements/test.txt b/requirements/test.txt index 99d2ad4..b96b545 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -16,13 +16,13 @@ billiard==4.2.4 # via celery celery==5.6.2 # via event-tracking -certifi==2026.1.4 +certifi==2026.2.25 # via requests cffi==2.0.0 # via # cryptography # pynacl -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via requests click==8.3.1 # via @@ -38,7 +38,7 @@ click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via edx-toggles coverage[toml]==7.13.4 # via pytest-cov @@ -88,7 +88,7 @@ edx-django-utils==8.0.1 # openedx-events edx-drf-extensions==10.6.0 # via -r requirements/base.in -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/base.in # edx-ccx-keys @@ -102,7 +102,7 @@ event-tracking==3.3.0 # via -r requirements/base.in factory-boy==3.3.3 # via -r requirements/test.in -faker==40.4.0 +faker==40.8.0 # via factory-boy fastavro==1.12.1 # via openedx-events @@ -163,7 +163,7 @@ pytest==9.0.2 # pytest-django pytest-cov==7.0.0 # via -r requirements/test.in -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via @@ -172,7 +172,7 @@ python-dateutil==2.9.0.post0 # xblock python-slugify==8.0.4 # via code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/base.in # event-tracking @@ -195,7 +195,7 @@ six==1.17.0 # python-dateutil sqlparse==0.5.5 # via django -stevedore==5.6.0 +stevedore==5.7.0 # via # code-annotations # edx-django-utils diff --git a/setup.py b/setup.py index a6f6da3..7e1fe08 100644 --- a/setup.py +++ b/setup.py @@ -160,7 +160,6 @@ def add_version_constraint_or_raise(current_line, current_requirements, add_if_n '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', ], ) diff --git a/tox.ini b/tox.ini index 034f81a..17c1aba 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{311,312}-django{42,52}-drf{314,latest}, docs, quality +envlist = py{312}-django{42,52}-drf{314,latest}, docs, quality [doc8] max-line-length = 120