diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 83606787..7e783b29 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ jobs: strategy: matrix: os: [ 'ubuntu-24.04' ] - python-version: ['3.11', '3.12'] + python-version: ['3.12'] toxenv: [ 'django42', 'django52' ] # Only run these other workflows on the latest python version we support. include: @@ -48,7 +48,7 @@ jobs: run: tox - name: Run Coverage - if: matrix.python-version == '3.11' && matrix.toxenv=='django42' + if: matrix.python-version == '3.12' && matrix.toxenv=='django42' uses: codecov/codecov-action@v5 with: flags: unittests diff --git a/.github/workflows/publish_pypi.yml b/.github/workflows/publish_pypi.yml index 963468e7..3f4fbe4d 100644 --- a/.github/workflows/publish_pypi.yml +++ b/.github/workflows/publish_pypi.yml @@ -16,7 +16,7 @@ jobs: - name: setup python uses: actions/setup-python@v6 with: - python-version: 3.11 + python-version: 3.12 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 30382cc8..aa50d193 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -13,7 +13,7 @@ sphinx: build: os: "ubuntu-lts-latest" tools: - python: "3.11" + python: "3.12" python: install: diff --git a/event_routing_backends/__init__.py b/event_routing_backends/__init__.py index bb7774d4..a98cb43d 100644 --- a/event_routing_backends/__init__.py +++ b/event_routing_backends/__init__.py @@ -2,4 +2,4 @@ Various backends for receiving edX LMS events.. """ -__version__ = "9.3.8" +__version__ = "10.0.0" diff --git a/requirements/base.txt b/requirements/base.txt index be1a6df2..29a8593f 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -8,27 +8,27 @@ amqp==5.3.1 # via kombu aniso8601==10.0.1 # via tincan -apache-libcloud==3.8.0 +apache-libcloud==3.9.0 # via -r requirements/base.in -asgiref==3.10.0 +asgiref==3.11.1 # via django attrs==25.4.0 # via openedx-events -billiard==4.2.2 +billiard==4.2.4 # via celery -celery==5.5.3 +celery==5.6.2 # via # edx-celeryutils # event-tracking -certifi==2025.10.5 +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.0 +click==8.3.1 # via # celery # click-didyoumean @@ -42,11 +42,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.3 +cryptography==46.0.5 # via django-fernet-fields-v2 -django==4.2.25 +django==5.2.12 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -94,7 +94,7 @@ edx-django-utils==8.0.1 # edx-toggles # event-tracking # openedx-events -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # edx-ccx-keys # openedx-events @@ -119,7 +119,7 @@ jsonfield==3.2.0 # via # -r requirements/base.in # edx-celeryutils -kombu==5.5.4 +kombu==5.6.2 # via celery markupsafe==3.0.3 # via jinja2 @@ -127,19 +127,19 @@ openedx-events==10.5.0 # via event-tracking openedx-filters==2.1.0 # via -r requirements/base.in -packaging==25.0 +packaging==26.0 # via kombu prompt-toolkit==3.0.52 # via click-repl -psutil==7.1.1 +psutil==7.2.2 # via edx-django-utils -pycparser==2.23 +pycparser==3.0 # via cffi -pymongo==4.15.3 +pymongo==4.16.0 # via # edx-opaque-keys # event-tracking -pynacl==1.6.0 +pynacl==1.6.2 # via edx-django-utils python-dateutil==2.9.0.post0 # via @@ -147,14 +147,14 @@ python-dateutil==2.9.0.post0 # celery python-slugify==8.0.4 # via code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/base.in # event-tracking # tincan pyyaml==6.0.3 # via code-annotations -redis==6.4.0 +redis==7.3.0 # via django-redis requests==2.32.5 # via @@ -165,9 +165,9 @@ six==1.17.0 # edx-ccx-keys # event-tracking # python-dateutil -sqlparse==0.5.3 +sqlparse==0.5.5 # via django -stevedore==5.5.0 +stevedore==5.7.0 # via # code-annotations # edx-django-utils @@ -178,16 +178,18 @@ tincan==1.0.0 # via -r requirements/base.in typing-extensions==4.15.0 # via edx-opaque-keys -tzdata==2025.2 +tzdata==2025.3 # via kombu -urllib3==2.5.0 +tzlocal==5.3.1 + # via celery +urllib3==2.6.3 # via requests vine==5.1.0 # via # amqp # celery # kombu -wcwidth==0.2.14 +wcwidth==0.6.0 # via prompt-toolkit # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/ci.txt b/requirements/ci.txt index 6555e147..8e347215 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,34 +1,38 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -cachetools==6.2.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.0 +filelock==3.25.0 # via + # python-discovery # tox # virtualenv -packaging==25.0 +packaging==26.0 # via # pyproject-api # tox -platformdirs==4.5.0 +platformdirs==4.9.4 # via + # python-discovery # tox # virtualenv pluggy==1.6.0 # via tox pyproject-api==1.10.0 # via tox -tox==4.31.0 +python-discovery==1.1.0 + # via virtualenv +tomli-w==1.2.0 + # via tox +tox==4.49.0 # via -r requirements/ci.in -virtualenv==20.35.3 +virtualenv==21.1.0 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index dfe6e33d..179da570 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -12,13 +12,13 @@ aniso8601==10.0.1 # via # -r requirements/quality.txt # tincan -apache-libcloud==3.8.0 +apache-libcloud==3.9.0 # via -r requirements/quality.txt -asgiref==3.10.0 +asgiref==3.11.1 # via # -r requirements/quality.txt # django -astroid==3.3.11 +astroid==4.0.4 # via # -r requirements/quality.txt # pylint @@ -27,24 +27,24 @@ attrs==25.4.0 # via # -r requirements/quality.txt # openedx-events -billiard==4.2.2 +billiard==4.2.4 # via # -r requirements/quality.txt # celery -build==1.3.0 +build==1.4.0 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==6.2.1 +cachetools==7.0.3 # via # -r requirements/ci.txt # tox -celery==5.5.3 +celery==5.6.2 # via # -r requirements/quality.txt # edx-celeryutils # event-tracking -certifi==2025.10.5 +certifi==2026.2.25 # via # -r requirements/quality.txt # requests @@ -53,16 +53,13 @@ cffi==2.0.0 # -r requirements/quality.txt # cryptography # pynacl -chardet==5.2.0 - # via - # -r requirements/ci.txt - # diff-cover - # tox -charset-normalizer==3.4.4 +chardet==7.0.1 + # via diff-cover +charset-normalizer==3.4.5 # via # -r requirements/quality.txt # requests -click==8.3.0 +click==8.3.1 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt @@ -91,7 +88,7 @@ click-repl==0.3.0 # via # -r requirements/quality.txt # celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via # -r requirements/quality.txt # edx-lint @@ -100,19 +97,19 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.11.0 +coverage[toml]==7.13.4 # via # -r requirements/quality.txt # pytest-cov -cryptography==46.0.3 +cryptography==46.0.5 # via # -r requirements/quality.txt # django-fernet-fields-v2 ddt==1.7.2 # via -r requirements/quality.txt -diff-cover==9.7.1 +diff-cover==10.2.0 # via -r requirements/dev.in -dill==0.4.0 +dill==0.4.1 # via # -r requirements/quality.txt # pylint @@ -120,7 +117,7 @@ distlib==0.4.0 # via # -r requirements/ci.txt # virtualenv -django==4.2.25 +django==5.2.12 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt @@ -184,7 +181,7 @@ edx-i18n-tools==1.9.0 # via -r requirements/dev.in edx-lint==5.6.0 # via -r requirements/quality.txt -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/quality.txt # edx-ccx-keys @@ -198,7 +195,7 @@ event-tracking==3.3.0 # via -r requirements/quality.txt factory-boy==3.3.3 # via -r requirements/quality.txt -faker==37.11.0 +faker==40.8.0 # via # -r requirements/quality.txt # factory-boy @@ -208,9 +205,10 @@ fastavro==1.12.1 # openedx-events fasteners==0.20 # via -r requirements/quality.txt -filelock==3.20.0 +filelock==3.25.0 # via # -r requirements/ci.txt + # python-discovery # tox # virtualenv idna==3.11 @@ -223,7 +221,7 @@ iniconfig==2.3.0 # pytest isodate==0.7.2 # via -r requirements/quality.txt -isort==6.1.0 +isort==8.0.1 # via # -r requirements/quality.txt # pylint @@ -236,7 +234,7 @@ jsonfield==3.2.0 # via # -r requirements/quality.txt # edx-celeryutils -kombu==5.5.4 +kombu==5.6.2 # via # -r requirements/quality.txt # celery @@ -244,7 +242,7 @@ lxml[html-clean]==6.0.2 # via # edx-i18n-tools # lxml-html-clean -lxml-html-clean==0.4.3 +lxml-html-clean==0.4.4 # via lxml markupsafe==3.0.3 # via @@ -262,7 +260,7 @@ openedx-events==10.5.0 # event-tracking openedx-filters==2.1.0 # via -r requirements/quality.txt -packaging==25.0 +packaging==26.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -272,15 +270,17 @@ packaging==25.0 # pyproject-api # pytest # tox + # wheel path==16.16.0 # via edx-i18n-tools -pip-tools==7.5.1 +pip-tools==7.5.3 # via -r requirements/pip-tools.txt -platformdirs==4.5.0 +platformdirs==4.9.4 # via # -r requirements/ci.txt # -r requirements/quality.txt # pylint + # python-discovery # tox # virtualenv pluggy==1.6.0 @@ -297,13 +297,13 @@ prompt-toolkit==3.0.52 # via # -r requirements/quality.txt # click-repl -psutil==7.1.1 +psutil==7.2.2 # via # -r requirements/quality.txt # edx-django-utils pycodestyle==2.14.0 # via -r requirements/quality.txt -pycparser==2.23 +pycparser==3.0 # via # -r requirements/quality.txt # cffi @@ -314,7 +314,7 @@ pygments==2.19.2 # -r requirements/quality.txt # diff-cover # pytest -pylint==3.3.9 +pylint==4.0.5 # via # -r requirements/quality.txt # edx-lint @@ -325,7 +325,7 @@ pylint-celery==0.3 # via # -r requirements/quality.txt # edx-lint -pylint-django==2.6.1 +pylint-django==2.7.0 # via # -r requirements/quality.txt # edx-lint @@ -334,12 +334,12 @@ pylint-plugin-utils==0.9.0 # -r requirements/quality.txt # pylint-celery # pylint-django -pymongo==4.15.3 +pymongo==4.16.0 # via # -r requirements/quality.txt # edx-opaque-keys # event-tracking -pynacl==1.6.0 +pynacl==1.6.2 # via # -r requirements/quality.txt # edx-django-utils @@ -352,24 +352,28 @@ pyproject-hooks==1.2.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.4.2 +pytest==9.0.2 # via # -r requirements/quality.txt # pytest-cov # pytest-django pytest-cov==7.0.0 # via -r requirements/quality.txt -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/quality.txt python-dateutil==2.9.0.post0 # via # -r requirements/quality.txt # celery +python-discovery==1.1.0 + # via + # -r requirements/ci.txt + # virtualenv python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/quality.txt # event-tracking @@ -379,7 +383,7 @@ pyyaml==6.0.3 # -r requirements/quality.txt # code-annotations # edx-i18n-tools -redis==6.4.0 +redis==7.3.0 # via # -r requirements/quality.txt # django-redis @@ -398,11 +402,11 @@ snowballstemmer==3.0.1 # via # -r requirements/quality.txt # pydocstyle -sqlparse==0.5.3 +sqlparse==0.5.5 # via # -r requirements/quality.txt # django -stevedore==5.5.0 +stevedore==5.7.0 # via # -r requirements/quality.txt # code-annotations @@ -414,22 +418,29 @@ text-unidecode==1.3 # python-slugify tincan==1.0.0 # via -r requirements/quality.txt -tomlkit==0.13.3 +tomli-w==1.2.0 + # via + # -r requirements/ci.txt + # tox +tomlkit==0.14.0 # via # -r requirements/quality.txt # pylint -tox==4.31.0 +tox==4.49.0 # via -r requirements/ci.txt typing-extensions==4.15.0 # via # -r requirements/quality.txt # edx-opaque-keys -tzdata==2025.2 +tzdata==2025.3 # via # -r requirements/quality.txt - # faker # kombu -urllib3==2.5.0 +tzlocal==5.3.1 + # via + # -r requirements/quality.txt + # celery +urllib3==2.6.3 # via # -r requirements/quality.txt # requests @@ -439,15 +450,15 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.35.3 +virtualenv==21.1.0 # via # -r requirements/ci.txt # tox -wcwidth==0.2.14 +wcwidth==0.6.0 # via # -r requirements/quality.txt # prompt-toolkit -wheel==0.45.1 +wheel==0.46.3 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt diff --git a/requirements/doc.txt b/requirements/doc.txt index d61b3644..67ae80df 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -16,9 +16,9 @@ aniso8601==10.0.1 # via # -r requirements/test.txt # tincan -apache-libcloud==3.8.0 +apache-libcloud==3.9.0 # via -r requirements/test.txt -asgiref==3.10.0 +asgiref==3.11.1 # via # -r requirements/test.txt # django @@ -26,26 +26,24 @@ attrs==25.4.0 # via # -r requirements/test.txt # openedx-events -babel==2.17.0 +babel==2.18.0 # via # pydata-sphinx-theme # sphinx -backports-tarfile==1.2.0 - # via jaraco-context -beautifulsoup4==4.14.2 +beautifulsoup4==4.14.3 # via pydata-sphinx-theme -billiard==4.2.2 +billiard==4.2.4 # via # -r requirements/test.txt # celery -build==1.3.0 +build==1.4.0 # via -r requirements/doc.in -celery==5.5.3 +celery==5.6.2 # via # -r requirements/test.txt # edx-celeryutils # event-tracking -certifi==2025.10.5 +certifi==2026.2.25 # via # -r requirements/test.txt # requests @@ -54,11 +52,11 @@ cffi==2.0.0 # -r requirements/test.txt # cryptography # pynacl -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via # -r requirements/test.txt # requests -click==8.3.0 +click==8.3.1 # via # -r requirements/test.txt # celery @@ -79,22 +77,22 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via # -r requirements/test.txt # edx-toggles -coverage[toml]==7.11.0 +coverage[toml]==7.13.4 # via # -r requirements/test.txt # pytest-cov -cryptography==46.0.3 +cryptography==46.0.5 # via # -r requirements/test.txt # django-fernet-fields-v2 # secretstorage ddt==1.7.2 # via -r requirements/test.txt -django==4.2.25 +django==5.2.12 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt @@ -162,7 +160,7 @@ edx-django-utils==8.0.1 # edx-toggles # event-tracking # openedx-events -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/test.txt # edx-ccx-keys @@ -176,7 +174,7 @@ event-tracking==3.3.0 # via -r requirements/test.txt factory-boy==3.3.3 # via -r requirements/test.txt -faker==37.11.0 +faker==40.8.0 # via # -r requirements/test.txt # factory-boy @@ -186,16 +184,14 @@ fastavro==1.12.1 # openedx-events fasteners==0.20 # via -r requirements/test.txt -id==1.5.0 +id==1.6.1 # via twine idna==3.11 # via # -r requirements/test.txt # requests -imagesize==1.4.1 +imagesize==2.0.0 # via sphinx -importlib-metadata==8.7.0 - # via keyring iniconfig==2.3.0 # via # -r requirements/test.txt @@ -204,9 +200,9 @@ isodate==0.7.2 # via -r requirements/test.txt jaraco-classes==3.4.0 # via keyring -jaraco-context==6.0.1 +jaraco-context==6.1.0 # via keyring -jaraco-functools==4.3.0 +jaraco-functools==4.4.0 # via keyring jeepney==0.9.0 # via @@ -221,9 +217,9 @@ jsonfield==3.2.0 # via # -r requirements/test.txt # edx-celeryutils -keyring==25.6.0 +keyring==25.7.0 # via twine -kombu==5.5.4 +kombu==5.6.2 # via # -r requirements/test.txt # celery @@ -241,7 +237,7 @@ more-itertools==10.8.0 # via # jaraco-classes # jaraco-functools -nh3==0.3.1 +nh3==0.3.3 # via readme-renderer openedx-events==10.5.0 # via @@ -249,7 +245,7 @@ openedx-events==10.5.0 # event-tracking openedx-filters==2.1.0 # via -r requirements/test.txt -packaging==25.0 +packaging==26.0 # via # -r requirements/test.txt # build @@ -267,11 +263,11 @@ prompt-toolkit==3.0.52 # via # -r requirements/test.txt # click-repl -psutil==7.1.1 +psutil==7.2.2 # via # -r requirements/test.txt # edx-django-utils -pycparser==2.23 +pycparser==3.0 # via # -r requirements/test.txt # cffi @@ -287,25 +283,25 @@ pygments==2.19.2 # readme-renderer # rich # sphinx -pymongo==4.15.3 +pymongo==4.16.0 # via # -r requirements/test.txt # edx-opaque-keys # event-tracking -pynacl==1.6.0 +pynacl==1.6.2 # via # -r requirements/test.txt # edx-django-utils pyproject-hooks==1.2.0 # via build -pytest==8.4.2 +pytest==9.0.2 # via # -r requirements/test.txt # pytest-cov # pytest-django pytest-cov==7.0.0 # via -r requirements/test.txt -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.txt python-dateutil==2.9.0.post0 # via @@ -315,7 +311,7 @@ python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/test.txt # event-tracking @@ -326,7 +322,7 @@ pyyaml==6.0.3 # code-annotations readme-renderer==44.0 # via twine -redis==6.4.0 +redis==7.3.0 # via # -r requirements/test.txt # django-redis @@ -334,21 +330,20 @@ requests==2.32.5 # via # -r requirements/test.txt # apache-libcloud - # id # requests-toolbelt # sphinx # twine requests-toolbelt==1.0.0 # via twine -restructuredtext-lint==1.4.0 +restructuredtext-lint==2.0.2 # via doc8 rfc3986==2.0.0 # via twine -rich==14.2.0 +rich==14.3.3 # via twine -roman-numerals-py==3.1.0 +roman-numerals==4.1.0 # via sphinx -secretstorage==3.4.0 +secretstorage==3.5.0 # via keyring six==1.17.0 # via @@ -358,9 +353,9 @@ six==1.17.0 # python-dateutil snowballstemmer==3.0.1 # via sphinx -soupsieve==2.8 +soupsieve==2.8.3 # via beautifulsoup4 -sphinx==8.2.3 +sphinx==9.1.0 # via # -r requirements/doc.in # pydata-sphinx-theme @@ -379,11 +374,11 @@ sphinxcontrib-qthelp==2.0.0 # via sphinx sphinxcontrib-serializinghtml==2.0.0 # via sphinx -sqlparse==0.5.3 +sqlparse==0.5.5 # via # -r requirements/test.txt # django -stevedore==5.5.0 +stevedore==5.7.0 # via # -r requirements/test.txt # code-annotations @@ -404,14 +399,18 @@ typing-extensions==4.15.0 # beautifulsoup4 # edx-opaque-keys # pydata-sphinx-theme -tzdata==2025.2 +tzdata==2025.3 # via # -r requirements/test.txt - # faker # kombu -urllib3==2.5.0 +tzlocal==5.3.1 + # via + # -r requirements/test.txt + # celery +urllib3==2.6.3 # via # -r requirements/test.txt + # id # requests # twine vine==5.1.0 @@ -420,12 +419,10 @@ vine==5.1.0 # amqp # celery # kombu -wcwidth==0.2.14 +wcwidth==0.6.0 # via # -r requirements/test.txt # prompt-toolkit -zipp==3.23.0 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index e97cb1b3..d89516b8 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,22 +1,24 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -build==1.3.0 +build==1.4.0 # via pip-tools -click==8.3.0 +click==8.3.1 # via pip-tools -packaging==25.0 - # via build -pip-tools==7.5.1 +packaging==26.0 + # via + # build + # wheel +pip-tools==7.5.3 # via -r requirements/pip-tools.in pyproject-hooks==1.2.0 # via # build # pip-tools -wheel==0.45.1 +wheel==0.46.3 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index dec15874..084d708e 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,14 +1,16 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -wheel==0.45.1 +packaging==26.0 + # via wheel +wheel==0.46.3 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==25.2 +pip==26.0.1 # via -r requirements/pip.in -setuptools==80.9.0 +setuptools==82.0.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 91e98a51..f7db69bb 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -12,13 +12,13 @@ aniso8601==10.0.1 # via # -r requirements/test.txt # tincan -apache-libcloud==3.8.0 +apache-libcloud==3.9.0 # via -r requirements/test.txt -asgiref==3.10.0 +asgiref==3.11.1 # via # -r requirements/test.txt # django -astroid==3.3.11 +astroid==4.0.4 # via # pylint # pylint-celery @@ -26,16 +26,16 @@ attrs==25.4.0 # via # -r requirements/test.txt # openedx-events -billiard==4.2.2 +billiard==4.2.4 # via # -r requirements/test.txt # celery -celery==5.5.3 +celery==5.6.2 # via # -r requirements/test.txt # edx-celeryutils # event-tracking -certifi==2025.10.5 +certifi==2026.2.25 # via # -r requirements/test.txt # requests @@ -44,11 +44,11 @@ cffi==2.0.0 # -r requirements/test.txt # cryptography # pynacl -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via # -r requirements/test.txt # requests -click==8.3.0 +click==8.3.1 # via # -r requirements/test.txt # celery @@ -73,24 +73,24 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via # -r requirements/test.txt # edx-lint # edx-toggles -coverage[toml]==7.11.0 +coverage[toml]==7.13.4 # via # -r requirements/test.txt # pytest-cov -cryptography==46.0.3 +cryptography==46.0.5 # via # -r requirements/test.txt # django-fernet-fields-v2 ddt==1.7.2 # via -r requirements/test.txt -dill==0.4.0 +dill==0.4.1 # via pylint -django==4.2.25 +django==5.2.12 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt @@ -151,7 +151,7 @@ edx-django-utils==8.0.1 # openedx-events 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/test.txt # edx-ccx-keys @@ -165,7 +165,7 @@ event-tracking==3.3.0 # via -r requirements/test.txt factory-boy==3.3.3 # via -r requirements/test.txt -faker==37.11.0 +faker==40.8.0 # via # -r requirements/test.txt # factory-boy @@ -185,7 +185,7 @@ iniconfig==2.3.0 # pytest isodate==0.7.2 # via -r requirements/test.txt -isort==6.1.0 +isort==8.0.1 # via # -r requirements/quality.in # pylint @@ -197,7 +197,7 @@ jsonfield==3.2.0 # via # -r requirements/test.txt # edx-celeryutils -kombu==5.5.4 +kombu==5.6.2 # via # -r requirements/test.txt # celery @@ -215,12 +215,13 @@ openedx-events==10.5.0 # event-tracking openedx-filters==2.1.0 # via -r requirements/test.txt -packaging==25.0 +packaging==26.0 # via # -r requirements/test.txt # kombu # pytest -platformdirs==4.5.0 + # wheel +platformdirs==4.9.4 # via pylint pluggy==1.6.0 # via @@ -231,13 +232,13 @@ prompt-toolkit==3.0.52 # via # -r requirements/test.txt # click-repl -psutil==7.1.1 +psutil==7.2.2 # via # -r requirements/test.txt # edx-django-utils pycodestyle==2.14.0 # via -r requirements/quality.in -pycparser==2.23 +pycparser==3.0 # via # -r requirements/test.txt # cffi @@ -247,7 +248,7 @@ pygments==2.19.2 # via # -r requirements/test.txt # pytest -pylint==3.3.9 +pylint==4.0.5 # via # edx-lint # pylint-celery @@ -255,29 +256,29 @@ pylint==3.3.9 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.6.1 +pylint-django==2.7.0 # via edx-lint pylint-plugin-utils==0.9.0 # via # pylint-celery # pylint-django -pymongo==4.15.3 +pymongo==4.16.0 # via # -r requirements/test.txt # edx-opaque-keys # event-tracking -pynacl==1.6.0 +pynacl==1.6.2 # via # -r requirements/test.txt # edx-django-utils -pytest==8.4.2 +pytest==9.0.2 # via # -r requirements/test.txt # pytest-cov # pytest-django pytest-cov==7.0.0 # via -r requirements/test.txt -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.txt python-dateutil==2.9.0.post0 # via @@ -287,7 +288,7 @@ python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/test.txt # event-tracking @@ -296,7 +297,7 @@ pyyaml==6.0.3 # via # -r requirements/test.txt # code-annotations -redis==6.4.0 +redis==7.3.0 # via # -r requirements/test.txt # django-redis @@ -313,11 +314,11 @@ six==1.17.0 # python-dateutil snowballstemmer==3.0.1 # via pydocstyle -sqlparse==0.5.3 +sqlparse==0.5.5 # via # -r requirements/test.txt # django -stevedore==5.5.0 +stevedore==5.7.0 # via # -r requirements/test.txt # code-annotations @@ -329,18 +330,21 @@ text-unidecode==1.3 # python-slugify tincan==1.0.0 # via -r requirements/test.txt -tomlkit==0.13.3 +tomlkit==0.14.0 # via pylint typing-extensions==4.15.0 # via # -r requirements/test.txt # edx-opaque-keys -tzdata==2025.2 +tzdata==2025.3 # via # -r requirements/test.txt - # faker # kombu -urllib3==2.5.0 +tzlocal==5.3.1 + # via + # -r requirements/test.txt + # celery +urllib3==2.6.3 # via # -r requirements/test.txt # requests @@ -350,15 +354,15 @@ vine==5.1.0 # amqp # celery # kombu -wcwidth==0.2.14 +wcwidth==0.6.0 # via # -r requirements/test.txt # prompt-toolkit -wheel==0.45.1 +wheel==0.46.3 # via -r requirements/quality.in # The following packages are considered to be unsafe in a requirements file: -setuptools==80.9.0 +setuptools==82.0.0 # via # -r requirements/quality.in # openedx-events diff --git a/requirements/test.txt b/requirements/test.txt index 7f95ee01..dcb6e102 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -12,9 +12,9 @@ aniso8601==10.0.1 # via # -r requirements/base.txt # tincan -apache-libcloud==3.8.0 +apache-libcloud==3.9.0 # via -r requirements/base.txt -asgiref==3.10.0 +asgiref==3.11.1 # via # -r requirements/base.txt # django @@ -22,16 +22,16 @@ attrs==25.4.0 # via # -r requirements/base.txt # openedx-events -billiard==4.2.2 +billiard==4.2.4 # via # -r requirements/base.txt # celery -celery==5.5.3 +celery==5.6.2 # via # -r requirements/base.txt # edx-celeryutils # event-tracking -certifi==2025.10.5 +certifi==2026.2.25 # via # -r requirements/base.txt # requests @@ -40,11 +40,11 @@ cffi==2.0.0 # -r requirements/base.txt # cryptography # pynacl -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via # -r requirements/base.txt # requests -click==8.3.0 +click==8.3.1 # via # -r requirements/base.txt # celery @@ -65,14 +65,14 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -code-annotations==2.3.0 +code-annotations==2.3.2 # via # -r requirements/base.txt # -r requirements/test.in # edx-toggles -coverage[toml]==7.11.0 +coverage[toml]==7.13.4 # via pytest-cov -cryptography==46.0.3 +cryptography==46.0.5 # via # -r requirements/base.txt # django-fernet-fields-v2 @@ -136,7 +136,7 @@ edx-django-utils==8.0.1 # edx-toggles # event-tracking # openedx-events -edx-opaque-keys[django]==3.0.0 +edx-opaque-keys[django]==3.1.0 # via # -r requirements/base.txt # edx-ccx-keys @@ -150,7 +150,7 @@ event-tracking==3.3.0 # via -r requirements/base.txt factory-boy==3.3.3 # via -r requirements/test.in -faker==37.11.0 +faker==40.8.0 # via factory-boy fastavro==1.12.1 # via @@ -174,7 +174,7 @@ jsonfield==3.2.0 # via # -r requirements/base.txt # edx-celeryutils -kombu==5.5.4 +kombu==5.6.2 # via # -r requirements/base.txt # celery @@ -190,7 +190,7 @@ openedx-events==10.5.0 # event-tracking openedx-filters==2.1.0 # via -r requirements/base.txt -packaging==25.0 +packaging==26.0 # via # -r requirements/base.txt # kombu @@ -203,32 +203,32 @@ prompt-toolkit==3.0.52 # via # -r requirements/base.txt # click-repl -psutil==7.1.1 +psutil==7.2.2 # via # -r requirements/base.txt # edx-django-utils -pycparser==2.23 +pycparser==3.0 # via # -r requirements/base.txt # cffi pygments==2.19.2 # via pytest -pymongo==4.15.3 +pymongo==4.16.0 # via # -r requirements/base.txt # edx-opaque-keys # event-tracking -pynacl==1.6.0 +pynacl==1.6.2 # via # -r requirements/base.txt # edx-django-utils -pytest==8.4.2 +pytest==9.0.2 # via # pytest-cov # 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 @@ -238,7 +238,7 @@ python-slugify==8.0.4 # via # -r requirements/base.txt # code-annotations -pytz==2025.2 +pytz==2026.1.post1 # via # -r requirements/base.txt # event-tracking @@ -247,7 +247,7 @@ pyyaml==6.0.3 # via # -r requirements/base.txt # code-annotations -redis==6.4.0 +redis==7.3.0 # via # -r requirements/base.txt # django-redis @@ -261,11 +261,11 @@ six==1.17.0 # edx-ccx-keys # event-tracking # python-dateutil -sqlparse==0.5.3 +sqlparse==0.5.5 # via # -r requirements/base.txt # django -stevedore==5.5.0 +stevedore==5.7.0 # via # -r requirements/base.txt # code-annotations @@ -281,12 +281,15 @@ typing-extensions==4.15.0 # via # -r requirements/base.txt # edx-opaque-keys -tzdata==2025.2 +tzdata==2025.3 # via # -r requirements/base.txt - # faker # kombu -urllib3==2.5.0 +tzlocal==5.3.1 + # via + # -r requirements/base.txt + # celery +urllib3==2.6.3 # via # -r requirements/base.txt # requests @@ -296,7 +299,7 @@ vine==5.1.0 # amqp # celery # kombu -wcwidth==0.2.14 +wcwidth==0.6.0 # via # -r requirements/base.txt # prompt-toolkit diff --git a/setup.py b/setup.py index 16bc8cde..33a5e287 100644 --- a/setup.py +++ b/setup.py @@ -148,7 +148,7 @@ def is_requirement(line): ], include_package_data=True, install_requires=load_requirements('requirements/base.in'), - python_requires=">=3.11", + python_requires=">=3.12", license="AGPL 3.0", zip_safe=False, keywords='Python edx', @@ -161,7 +161,6 @@ def is_requirement(line): '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={ diff --git a/tox.ini b/tox.ini index e2406f48..62271211 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{311,312}-django{42,52}, quality, docs, pii_check +envlist = py312-django{42,52}, quality, docs, pii_check [doc8] ignore = D001