From 611bc13e00543cd5dd816765998c5be823c8909f Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Tue, 28 Jul 2026 11:57:02 -0400 Subject: [PATCH] chore: Upgrade Python requirements --- requirements/base.txt | 77 +++++++++++++------------ requirements/celery50.txt | 6 +- requirements/ci.txt | 24 ++++---- requirements/common_constraints.txt | 6 ++ requirements/dev.txt | 79 +++++++++++++------------- requirements/pip-tools.txt | 10 ++-- requirements/pip.txt | 4 +- requirements/quality.txt | 49 ++++++++-------- requirements/test.txt | 87 +++++++++++++++-------------- 9 files changed, 177 insertions(+), 165 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 9a70e0abcc..0dbab1a213 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,25 +8,25 @@ amqp==5.3.1 # via kombu appdirs==1.4.4 # via fs -asgiref==3.11.1 +asgiref==3.12.1 # via django -attrs==25.4.0 +attrs==26.1.0 # via openedx-events billiard==4.2.4 # via celery -celery==5.6.2 +celery==5.6.3 # via # -c requirements/constraints.txt # event-tracking -certifi==2026.2.25 +certifi==2026.7.22 # via requests -cffi==2.0.0 +cffi==2.1.0 # via # cryptography # pynacl -charset-normalizer==3.4.5 +charset-normalizer==3.4.9 # via requests -click==8.3.1 +click==8.4.2 # via # -c requirements/constraints.txt # celery @@ -41,11 +41,11 @@ click-plugins==1.1.1.2 # via celery click-repl==0.3.0 # via celery -code-annotations==2.3.2 +code-annotations==3.0.0 # via edx-toggles -cryptography==46.0.5 +cryptography==49.0.0 # via pyjwt -django==5.2.12 +django==5.2.16 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -73,7 +73,7 @@ django-model-utils==5.0.0 # via # -r requirements/base.in # edx-when -django-simple-history==3.11.0 +django-simple-history==3.13.0 # via -r requirements/base.in django-waffle==5.0.0 # via @@ -85,7 +85,7 @@ django-webpack-loader==0.7.0 # via # -c requirements/constraints.txt # -r requirements/base.in -djangorestframework==3.16.1 +djangorestframework==3.17.1 # via # -r requirements/base.in # drf-jwt @@ -108,26 +108,27 @@ edx-drf-extensions==10.6.0 # via # -r requirements/base.in # edx-when -edx-opaque-keys[django]==3.1.0 +edx-opaque-keys[django]==4.0.0 # via # -r requirements/base.in # edx-ccx-keys # edx-drf-extensions # edx-when # openedx-events -edx-rest-api-client==6.2.0 + # xblock +edx-rest-api-client==7.0.0 # via -r requirements/base.in -edx-toggles==5.4.1 +edx-toggles==6.0.0 # via event-tracking -edx-when==3.2.1 +edx-when==4.0.0 # via -r requirements/base.in -event-tracking==3.3.0 +event-tracking==4.0.2 # via -r requirements/base.in -fastavro==1.12.1 +fastavro==1.12.2 # via openedx-events fs==2.4.16 # via xblock -idna==3.11 +idna==3.18 # via requests jinja2==3.1.6 # via code-annotations @@ -135,20 +136,20 @@ jsonfield==3.2.0 # via -r requirements/base.in kombu==5.6.2 # via celery -lxml==6.0.2 +lxml==6.1.1 # via xblock -mako==1.3.10 +mako==1.3.12 # via xblock markupsafe==3.0.3 # via # jinja2 # mako # xblock -openedx-events==10.5.0 +openedx-events==11.2.0 # via event-tracking -packaging==26.0 +packaging==26.2 # via kombu -prompt-toolkit==3.0.52 +prompt-toolkit==3.0.53 # via click-repl psutil==7.2.2 # via edx-django-utils @@ -156,13 +157,13 @@ pycparser==3.0 # via cffi pycryptodomex==3.23.0 # via -r requirements/base.in -pyjwt[crypto]==2.12.0 +pyjwt[crypto]==2.13.0 # via # -r requirements/base.in # drf-jwt # edx-drf-extensions # edx-rest-api-client -pymongo==4.16.0 +pymongo==4.17.0 # via # edx-opaque-keys # event-tracking @@ -177,7 +178,7 @@ python-ipware==3.0.0 # via django-ipware python-slugify==8.0.4 # via code-annotations -pytz==2026.1.post1 +pytz==2026.3.post1 # via # -r requirements/base.in # event-tracking @@ -186,7 +187,7 @@ pyyaml==6.0.3 # via # code-annotations # xblock -requests==2.32.5 +requests==2.34.2 # via # edx-drf-extensions # edx-rest-api-client @@ -194,7 +195,7 @@ rules==3.5 # via -r requirements/base.in semantic-version==2.10.0 # via edx-drf-extensions -simplejson==3.20.2 +simplejson==4.1.1 # via xblock six==1.17.0 # via @@ -204,33 +205,31 @@ six==1.17.0 # python-dateutil sqlparse==0.5.5 # via django -stevedore==5.7.0 +stevedore==5.9.0 # via # code-annotations # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via python-slugify -typing-extensions==4.15.0 +typing-extensions==4.16.0 # via edx-opaque-keys -tzdata==2025.3 +tzdata==2026.3 # via kombu -tzlocal==5.3.1 +tzlocal==5.4.4 # via celery -urllib3==2.6.3 +urllib3==2.7.0 # via requests vine==5.1.0 # via # amqp # celery # kombu -wcwidth==0.6.0 +wcwidth==0.8.2 # via prompt-toolkit -web-fragments==4.0.0 - # via xblock -webob==1.8.9 +webob==1.8.10 # via xblock -xblock==5.3.0 +xblock==6.3.1 # via edx-when # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/celery50.txt b/requirements/celery50.txt index 3d6a7cffb5..525b37dba3 100644 --- a/requirements/celery50.txt +++ b/requirements/celery50.txt @@ -1,9 +1,9 @@ amqp==5.3.1 billiard==4.2.4 -celery==5.6.2 -click==8.3.1 +celery==5.6.3 +click==8.4.2 click-didyoumean==0.3.1 click-repl==0.3.0 kombu==5.6.2 -prompt-toolkit==3.0.52 +prompt-toolkit==3.0.53 vine==5.1.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index 685020e2a9..de1bc70548 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,37 +4,39 @@ # # make upgrade # -cachetools==7.0.5 +cachetools==7.1.6 # via tox colorama==0.4.6 # via tox -coverage==7.13.4 +coverage==7.15.2 # via -r requirements/ci.in -distlib==0.4.0 +distlib==0.4.3 # via virtualenv -filelock==3.25.2 +filelock==3.32.0 # via # python-discovery # tox # virtualenv -packaging==26.0 +packaging==26.2 # via # pyproject-api # tox -platformdirs==4.9.4 +platformdirs==4.11.0 # via # python-discovery # tox # virtualenv pluggy==1.6.0 # via tox -pyproject-api==1.10.0 +pyproject-api==1.11.0 # via tox -python-discovery==1.1.3 - # via virtualenv +python-discovery==1.5.0 + # via + # tox + # virtualenv tomli-w==1.2.0 # via tox -tox==4.49.1 +tox==4.58.0 # via -r requirements/ci.in -virtualenv==21.2.0 +virtualenv==21.7.0 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 43c7b4d2ef..6aa76c933e 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -23,3 +23,9 @@ Django<6.0 # 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 + +# 2026-07-06: Constrain social-auth-* packages to the latest version compatible with +# edx-drf-extensions<=10.6.0. (Newer versions require a POST instead of a GET.) +# Tracking issue: https://github.com/openedx/edx-drf-extensions/issues/561 +social-auth-app-django<6.0.0 +social-auth-core<5.0.0 diff --git a/requirements/dev.txt b/requirements/dev.txt index a33105c854..e2d6f20d9e 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,54 +4,53 @@ # # make upgrade # -annotated-doc==0.0.4 +annotated-doc==0.0.5 # via typer -annotated-types==0.7.0 +annotated-types==0.8.0 # via pydantic -asgiref==3.11.1 +asgiref==3.12.1 # via django astroid==4.0.4 # via # pylint # pylint-celery -cachetools==7.0.5 +cachetools==7.1.6 # via tox -chardet==7.1.0 +chardet==7.4.3 # via diff-cover -click==8.3.1 +click==8.4.2 # via # -c requirements/constraints.txt # click-log # code-annotations # edx-lint - # typer click-log==0.4.0 # via edx-lint -code-annotations==2.3.2 +code-annotations==3.0.0 # via edx-lint colorama==0.4.6 # via tox -diff-cover==10.2.0 +diff-cover==10.4.1 # via -r requirements/dev.in dill==0.4.1 # via pylint -distlib==0.4.0 +distlib==0.4.3 # via virtualenv -django==5.2.12 +django==5.2.16 # via # -c requirements/common_constraints.txt # -r requirements/dev.in # -r requirements/quality.in # edx-i18n-tools -docutils==0.22.4 +docutils==0.23 # via rstcheck-core edx-i18n-tools==2.0.0 # via -r requirements/dev.in -edx-lint==6.0.0 +edx-lint==6.1.0 # via # -r requirements/dev.in # -r requirements/quality.in -filelock==3.25.2 +filelock==3.32.0 # via # python-discovery # tox @@ -64,13 +63,13 @@ jinja2==3.1.6 # via # code-annotations # diff-cover -lxml[html-clean]==6.0.2 +lxml[html-clean]==6.1.1 # via # edx-i18n-tools # lxml-html-clean -lxml-html-clean==0.4.4 +lxml-html-clean==0.4.5 # via lxml -markdown-it-py==4.0.0 +markdown-it-py==4.2.0 # via rich markupsafe==3.0.3 # via jinja2 @@ -78,7 +77,7 @@ mccabe==0.7.0 # via pylint mdurl==0.1.2 # via markdown-it-py -packaging==26.0 +packaging==26.2 # via # pyproject-api # tox @@ -89,7 +88,7 @@ path==16.16.0 # path-py path-py==12.5.0 # via -r requirements/dev.in -platformdirs==4.9.4 +platformdirs==4.11.0 # via # pylint # python-discovery @@ -103,17 +102,17 @@ polib==1.2.0 # via edx-i18n-tools pycodestyle==2.14.0 # via -r requirements/quality.in -pydantic==2.12.5 +pydantic==2.13.4 # via rstcheck-core -pydantic-core==2.41.5 +pydantic-core==2.46.4 # via pydantic pydocstyle==6.3.0 # via -r requirements/quality.in -pygments==2.19.2 +pygments==2.20.0 # via # diff-cover # rich -pylint==4.0.5 +pylint==4.0.6 # via # edx-lint # pylint-celery @@ -121,56 +120,60 @@ pylint==4.0.5 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.7.0 +pylint-django==2.8.0 # via edx-lint pylint-plugin-utils==0.9.0 # via # pylint-celery # pylint-django -pyproject-api==1.10.0 +pyproject-api==1.11.0 # via tox -python-discovery==1.1.3 - # via virtualenv +python-discovery==1.5.0 + # via + # tox + # virtualenv python-slugify==8.0.4 # via code-annotations pyyaml==6.0.3 # via # code-annotations # edx-i18n-tools -rich==14.3.3 +rich==15.0.0 # via typer rstcheck==6.2.5 # via -r requirements/quality.in -rstcheck-core==1.2.2 +rstcheck-core==1.3.0 # via rstcheck shellingham==1.5.4 # via typer six==1.17.0 # via edx-lint -snowballstemmer==3.0.1 +snowballstemmer==3.1.1 # via pydocstyle sqlparse==0.5.5 # via django -stevedore==5.7.0 +stevedore==5.9.0 # via code-annotations text-unidecode==1.3 # via python-slugify tomli-w==1.2.0 # via tox -tomlkit==0.14.0 - # via pylint -tox==4.49.1 +tomlkit==0.15.1 + # via + # edx-lint + # pylint +tox==4.58.0 # via -r requirements/dev.in -typer==0.24.1 +typer==0.27.0 # via rstcheck -typing-extensions==4.15.0 +typing-extensions==4.16.0 # via # pydantic # pydantic-core # typing-inspection typing-inspection==0.4.2 # via pydantic -virtualenv==21.2.0 +virtualenv==21.7.0 # via tox -wheel==0.46.3 +wheel==0.47.0 # via -r requirements/dev.in diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 0b68b71ba7..94e37f919c 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,23 +4,23 @@ # # make upgrade # -build==1.4.0 +build==1.5.0 # via pip-tools -click==8.3.1 +click==8.4.2 # via # -c requirements/constraints.txt # pip-tools -packaging==26.0 +packaging==26.2 # via # build # wheel -pip-tools==7.5.3 +pip-tools==7.6.0 # via -r requirements/pip-tools.in pyproject-hooks==1.2.0 # via # build # pip-tools -wheel==0.46.3 +wheel==0.47.0 # 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 6d2371c61a..fa274661e7 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,9 +4,9 @@ # # make upgrade # -packaging==26.0 +packaging==26.2 # via wheel -wheel==0.46.3 +wheel==0.47.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/quality.txt b/requirements/quality.txt index bd73d514a8..7f1b25476d 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,36 +4,35 @@ # # make upgrade # -annotated-doc==0.0.4 +annotated-doc==0.0.5 # via typer -annotated-types==0.7.0 +annotated-types==0.8.0 # via pydantic -asgiref==3.11.1 +asgiref==3.12.1 # via django astroid==4.0.4 # via # pylint # pylint-celery -click==8.3.1 +click==8.4.2 # via # -c requirements/constraints.txt # click-log # code-annotations # edx-lint - # typer click-log==0.4.0 # via edx-lint -code-annotations==2.3.2 +code-annotations==3.0.0 # via edx-lint dill==0.4.1 # via pylint -django==5.2.12 +django==5.2.16 # via # -c requirements/common_constraints.txt # -r requirements/quality.in -docutils==0.22.4 +docutils==0.23 # via rstcheck-core -edx-lint==6.0.0 +edx-lint==6.1.0 # via -r requirements/quality.in isort==8.0.1 # via @@ -41,7 +40,7 @@ isort==8.0.1 # pylint jinja2==3.1.6 # via code-annotations -markdown-it-py==4.0.0 +markdown-it-py==4.2.0 # via rich markupsafe==3.0.3 # via jinja2 @@ -49,19 +48,19 @@ mccabe==0.7.0 # via pylint mdurl==0.1.2 # via markdown-it-py -platformdirs==4.9.4 +platformdirs==4.11.0 # via pylint pycodestyle==2.14.0 # via -r requirements/quality.in -pydantic==2.12.5 +pydantic==2.13.4 # via rstcheck-core -pydantic-core==2.41.5 +pydantic-core==2.46.4 # via pydantic pydocstyle==6.3.0 # via -r requirements/quality.in -pygments==2.19.2 +pygments==2.20.0 # via rich -pylint==4.0.5 +pylint==4.0.6 # via # edx-lint # pylint-celery @@ -69,7 +68,7 @@ pylint==4.0.5 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.7.0 +pylint-django==2.8.0 # via edx-lint pylint-plugin-utils==0.9.0 # via @@ -79,29 +78,31 @@ python-slugify==8.0.4 # via code-annotations pyyaml==6.0.3 # via code-annotations -rich==14.3.3 +rich==15.0.0 # via typer rstcheck==6.2.5 # via -r requirements/quality.in -rstcheck-core==1.2.2 +rstcheck-core==1.3.0 # via rstcheck shellingham==1.5.4 # via typer six==1.17.0 # via edx-lint -snowballstemmer==3.0.1 +snowballstemmer==3.1.1 # via pydocstyle sqlparse==0.5.5 # via django -stevedore==5.7.0 +stevedore==5.9.0 # via code-annotations text-unidecode==1.3 # via python-slugify -tomlkit==0.14.0 - # via pylint -typer==0.24.1 +tomlkit==0.15.1 + # via + # edx-lint + # pylint +typer==0.27.0 # via rstcheck -typing-extensions==4.15.0 +typing-extensions==4.16.0 # via # pydantic # pydantic-core diff --git a/requirements/test.txt b/requirements/test.txt index 2f650d334c..aeb1904f0f 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -7,21 +7,21 @@ # via kombu appdirs==1.4.4 # via fs -asgiref==3.11.1 +asgiref==3.12.1 # via django -attrs==25.4.0 +attrs==26.1.0 # via openedx-events # via celery # via # -c requirements/constraints.txt # event-tracking -certifi==2026.2.25 +certifi==2026.7.22 # via requests -cffi==2.0.0 +cffi==2.1.0 # via # cryptography # pynacl -charset-normalizer==3.4.5 +charset-normalizer==3.4.9 # via requests # via # -c requirements/constraints.txt @@ -35,13 +35,13 @@ charset-normalizer==3.4.5 click-plugins==1.1.1.2 # via celery # via celery -code-annotations==2.3.2 +code-annotations==3.0.0 # via # -r requirements/test.in # edx-toggles -coverage[toml]==7.13.4 +coverage[toml]==7.15.2 # via pytest-cov -cryptography==46.0.5 +cryptography==49.0.0 # via pyjwt ddt==1.7.2 # via -r requirements/test.in @@ -73,7 +73,7 @@ django-model-utils==5.0.0 # via # -r requirements/base.in # edx-when -django-simple-history==3.11.0 +django-simple-history==3.13.0 # via -r requirements/base.in django-waffle==5.0.0 # via @@ -109,28 +109,29 @@ edx-drf-extensions==10.6.0 # edx-when edx-i18n-tools==2.0.0 # via -r requirements/test.in -edx-opaque-keys[django]==3.1.0 +edx-opaque-keys[django]==4.0.0 # via # -r requirements/base.in # edx-ccx-keys # edx-drf-extensions # edx-when # openedx-events -edx-rest-api-client==6.2.0 + # xblock +edx-rest-api-client==7.0.0 # via -r requirements/base.in -edx-toggles==5.4.1 +edx-toggles==6.0.0 # via event-tracking -edx-when==3.2.1 +edx-when==4.0.0 # via -r requirements/base.in -event-tracking==3.3.0 +event-tracking==4.0.2 # via -r requirements/base.in execnet==2.1.2 # via pytest-xdist factory-boy==3.3.3 # via -r requirements/test.in -faker==40.11.0 +faker==40.36.0 # via factory-boy -fastavro==1.12.1 +fastavro==1.12.2 # via openedx-events freezegun==1.5.5 # via -r requirements/test.in @@ -140,7 +141,7 @@ httmock==1.4.0 # via -r requirements/test.in httpretty==1.1.4 # via -r requirements/test.in -idna==3.11 +idna==3.18 # via requests iniconfig==2.3.0 # via pytest @@ -149,14 +150,14 @@ jinja2==3.1.6 jsonfield==3.2.0 # via -r requirements/base.in # via celery -lxml[html-clean]==6.0.2 +lxml[html-clean]==6.1.1 # via # edx-i18n-tools # lxml-html-clean # xblock -lxml-html-clean==0.4.4 +lxml-html-clean==0.4.5 # via lxml -mako==1.3.10 +mako==1.3.12 # via xblock markupsafe==3.0.3 # via @@ -165,9 +166,9 @@ markupsafe==3.0.3 # xblock mock==5.2.0 # via -r requirements/test.in -openedx-events==10.5.0 +openedx-events==11.2.0 # via event-tracking -packaging==26.0 +packaging==26.2 # via # kombu # pytest @@ -186,26 +187,26 @@ pycparser==3.0 # via cffi pycryptodomex==3.23.0 # via -r requirements/base.in -pygments==2.19.2 +pygments==2.20.0 # via pytest -pyjwt[crypto]==2.12.0 +pyjwt[crypto]==2.13.0 # via # -r requirements/base.in # drf-jwt # edx-drf-extensions # edx-rest-api-client -pymongo==4.16.0 +pymongo==4.17.0 # via # edx-opaque-keys # event-tracking pynacl==1.6.2 # via edx-django-utils -pytest==9.0.2 +pytest==9.1.1 # via # pytest-cov # pytest-django # pytest-xdist -pytest-cov==7.0.0 +pytest-cov==7.1.0 # via -r requirements/test.in pytest-django==4.12.0 # via -r requirements/test.in @@ -221,7 +222,7 @@ python-ipware==3.0.0 # via django-ipware python-slugify==8.0.4 # via code-annotations -pytz==2026.1.post1 +pytz==2026.3.post1 # via # -r requirements/base.in # event-tracking @@ -232,19 +233,19 @@ pyyaml==6.0.3 # edx-i18n-tools # responses # xblock -requests==2.32.5 +requests==2.34.2 # via # edx-drf-extensions # edx-rest-api-client # httmock # responses -responses==0.26.0 +responses==0.26.2 # via -r requirements/test.in rules==3.5 # via -r requirements/base.in semantic-version==2.10.0 # via edx-drf-extensions -simplejson==3.20.2 +simplejson==4.1.1 # via xblock six==1.17.0 # via @@ -254,22 +255,24 @@ six==1.17.0 # python-dateutil sqlparse==0.5.5 # via django -stevedore==5.7.0 +stevedore==5.9.0 # via # code-annotations # edx-django-utils # edx-opaque-keys -testfixtures==11.0.0 +testfixtures==12.3.0 # via -r requirements/test.in text-unidecode==1.3 # via python-slugify -typing-extensions==4.15.0 - # via edx-opaque-keys -tzdata==2025.3 +typing-extensions==4.16.0 + # via + # edx-opaque-keys + # testfixtures +tzdata==2026.3 # via kombu -tzlocal==5.3.1 +tzlocal==5.4.4 # via celery -urllib3==2.6.3 +urllib3==2.7.0 # via # requests # responses @@ -277,13 +280,11 @@ urllib3==2.6.3 # amqp # celery # kombu -wcwidth==0.6.0 +wcwidth==0.8.2 # via prompt-toolkit -web-fragments==4.0.0 - # via xblock -webob==1.8.9 +webob==1.8.10 # via xblock -xblock==5.3.0 +xblock==6.3.1 # via edx-when # The following packages are considered to be unsafe in a requirements file: