From e58d0151ee0ae0c2c02e099cafd0675cfa935013 Mon Sep 17 00:00:00 2001
From: edX requirements bot <devops+edx-requirements-bot@edx.org>
Date: Sun, 4 Feb 2024 21:15:44 -0500
Subject: [PATCH] chore: Updating Python Requirements

---
 requirements/base.txt                | 24 ++++++-------
 requirements/ci.txt                  |  4 +--
 requirements/common_constraints.txt  |  5 ---
 requirements/common_constraints.txt. |  7 +---
 requirements/dev.txt                 | 52 ++++++++++++++--------------
 requirements/doc.txt                 | 46 ++++++++++++------------
 requirements/pip.txt                 |  2 +-
 requirements/production.txt          | 24 ++++++-------
 requirements/quality.txt             | 46 ++++++++++++------------
 requirements/test.txt                | 46 ++++++++++++------------
 requirements/validation.txt          | 46 ++++++++++++------------
 11 files changed, 146 insertions(+), 156 deletions(-)

diff --git a/requirements/base.txt b/requirements/base.txt
index 995534a0..1e87f4c6 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -17,7 +17,7 @@ attrs==23.2.0
     #   referencing
 backports-zoneinfo==0.2.1
     # via django
-certifi==2023.11.17
+certifi==2024.2.2
     # via requests
 cffi==1.16.0
     # via
@@ -27,7 +27,7 @@ charset-normalizer==3.3.2
     # via requests
 click==8.1.7
     # via edx-django-utils
-cryptography==41.0.7
+cryptography==42.0.2
     # via
     #   pyjwt
     #   social-auth-core
@@ -124,7 +124,7 @@ edx-django-utils==5.10.1
     #   edx-rest-api-client
     #   getsmarter-api-clients
     #   openedx-ledger
-edx-drf-extensions==9.1.2
+edx-drf-extensions==10.1.0
     # via
     #   -r requirements/base.in
     #   edx-rbac
@@ -156,22 +156,22 @@ jsonfield2==4.0.0.post0
     # via
     #   -r requirements/base.in
     #   openedx-ledger
-jsonschema==4.21.0
+jsonschema==4.21.1
     # via drf-spectacular
 jsonschema-specifications==2023.12.1
     # via jsonschema
-mysqlclient==2.2.1
+mysqlclient==2.2.3
     # via
     #   -r requirements/base.in
     #   openedx-ledger
-newrelic==9.5.0
+newrelic==9.6.0
     # via edx-django-utils
 oauthlib==3.2.2
     # via
     #   getsmarter-api-clients
     #   requests-oauthlib
     #   social-auth-core
-openedx-events==9.2.0
+openedx-events==9.4.0
     # via
     #   -r requirements/base.in
     #   openedx-ledger
@@ -185,7 +185,7 @@ pkgutil-resolve-name==1.3.10
     # via jsonschema
 ply==3.11
     # via djangoql
-psutil==5.9.7
+psutil==5.9.8
     # via edx-django-utils
 pycparser==2.21
     # via cffi
@@ -205,7 +205,7 @@ pynacl==1.5.0
     # via edx-django-utils
 python3-openid==3.2.0
     # via social-auth-core
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   -r requirements/base.in
     #   djangorestframework
@@ -219,7 +219,7 @@ pyyaml==6.0.1
     #   edx-django-release-util
 redis==5.0.1
     # via openedx-ledger
-referencing==0.32.1
+referencing==0.33.0
     # via
     #   jsonschema
     #   jsonschema-specifications
@@ -253,7 +253,7 @@ slumber==0.7.1
     # via edx-rest-api-client
 social-auth-app-django==5.4.0
     # via edx-auth-backends
-social-auth-core==4.5.1
+social-auth-core==4.5.2
     # via
     #   edx-auth-backends
     #   social-auth-app-django
@@ -272,7 +272,7 @@ uritemplate==4.1.1
     # via
     #   drf-spectacular
     #   drf-yasg
-urllib3==2.1.0
+urllib3==2.2.0
     # via requests
 zipp==3.17.0
     # via importlib-resources
diff --git a/requirements/ci.txt b/requirements/ci.txt
index ebdfb1eb..742e39c1 100644
--- a/requirements/ci.txt
+++ b/requirements/ci.txt
@@ -20,11 +20,11 @@ packaging==23.2
     # via
     #   pyproject-api
     #   tox
-platformdirs==4.1.0
+platformdirs==4.2.0
     # via
     #   tox
     #   virtualenv
-pluggy==1.3.0
+pluggy==1.4.0
     # via tox
 pyproject-api==1.6.1
     # via tox
diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt
index 7c844d8b..f464c023 100644
--- a/requirements/common_constraints.txt
+++ b/requirements/common_constraints.txt
@@ -3,11 +3,6 @@
 # See BOM-2721 for more details.
 # Below is the copied and edited version of common_constraints
 
-# This is a temporary solution to override the real common_constraints.txt
-# In edx-lint, until the pyjwt constraint in edx-lint has been removed.
-# See BOM-2721 for more details.
-# Below is the copied and edited version of common_constraints
-
 # A central location for most common version constraints
 # (across edx repos) for pip-installation.
 #
diff --git a/requirements/common_constraints.txt. b/requirements/common_constraints.txt.
index 7c844d8b..eb994cfe 100644
--- a/requirements/common_constraints.txt.
+++ b/requirements/common_constraints.txt.
@@ -3,11 +3,6 @@
 # See BOM-2721 for more details.
 # Below is the copied and edited version of common_constraints
 
-# This is a temporary solution to override the real common_constraints.txt
-# In edx-lint, until the pyjwt constraint in edx-lint has been removed.
-# See BOM-2721 for more details.
-# Below is the copied and edited version of common_constraints
-
 # A central location for most common version constraints
 # (across edx repos) for pip-installation.
 #
@@ -30,4 +25,4 @@
 elasticsearch<7.14.0
 
 # django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected
-3.0.0
+django-simple-history==3.0.0
diff --git a/requirements/dev.txt b/requirements/dev.txt
index f626b060..841d65f4 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -9,7 +9,7 @@ asgiref==3.7.2
     #   -r requirements/validation.txt
     #   django
     #   django-cors-headers
-astroid==3.0.2
+astroid==3.0.3
     # via
     #   -r requirements/validation.txt
     #   pylint
@@ -36,7 +36,7 @@ cachetools==5.3.2
     # via
     #   -r requirements/validation.txt
     #   tox
-certifi==2023.11.17
+certifi==2024.2.2
     # via
     #   -r requirements/validation.txt
     #   requests
@@ -67,7 +67,7 @@ click-log==0.4.0
     # via
     #   -r requirements/validation.txt
     #   edx-lint
-code-annotations==1.5.0
+code-annotations==1.6.0
     # via
     #   -r requirements/validation.txt
     #   edx-lint
@@ -75,12 +75,12 @@ colorama==0.4.6
     # via
     #   -r requirements/validation.txt
     #   tox
-coverage[toml]==7.4.0
+coverage[toml]==7.4.1
     # via
     #   -r requirements/validation.txt
     #   coverage
     #   pytest-cov
-cryptography==41.0.7
+cryptography==42.0.2
     # via
     #   -r requirements/validation.txt
     #   pyjwt
@@ -95,9 +95,9 @@ defusedxml==0.8.0rc2
     #   -r requirements/validation.txt
     #   python3-openid
     #   social-auth-core
-diff-cover==8.0.2
+diff-cover==8.0.3
     # via -r requirements/dev.in
-dill==0.3.7
+dill==0.3.8
     # via
     #   -r requirements/validation.txt
     #   pylint
@@ -140,7 +140,7 @@ django-crum==0.7.9
     #   -r requirements/validation.txt
     #   edx-django-utils
     #   edx-rbac
-django-debug-toolbar==4.2.0
+django-debug-toolbar==4.3.0
     # via -r requirements/dev.in
 django-dynamic-fixture==4.0.1
     # via -r requirements/validation.txt
@@ -209,7 +209,7 @@ edx-django-utils==5.10.1
     #   edx-rest-api-client
     #   getsmarter-api-clients
     #   openedx-ledger
-edx-drf-extensions==9.1.2
+edx-drf-extensions==10.1.0
     # via
     #   -r requirements/validation.txt
     #   edx-rbac
@@ -235,7 +235,7 @@ exceptiongroup==1.2.0
     #   pytest
 factory-boy==3.3.0
     # via -r requirements/validation.txt
-faker==22.2.0
+faker==22.6.0
     # via
     #   -r requirements/validation.txt
     #   factory-boy
@@ -298,7 +298,7 @@ jsonfield2==4.0.0.post0
     # via
     #   -r requirements/validation.txt
     #   openedx-ledger
-jsonschema==4.21.0
+jsonschema==4.21.1
     # via
     #   -r requirements/validation.txt
     #   drf-spectacular
@@ -316,7 +316,7 @@ markdown-it-py==3.0.0
     # via
     #   -r requirements/validation.txt
     #   rich
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via
     #   -r requirements/validation.txt
     #   jinja2
@@ -334,11 +334,11 @@ more-itertools==10.2.0
     # via
     #   -r requirements/validation.txt
     #   jaraco-classes
-mysqlclient==2.2.1
+mysqlclient==2.2.3
     # via
     #   -r requirements/validation.txt
     #   openedx-ledger
-newrelic==9.5.0
+newrelic==9.6.0
     # via
     #   -r requirements/validation.txt
     #   edx-django-utils
@@ -352,7 +352,7 @@ oauthlib==3.2.2
     #   getsmarter-api-clients
     #   requests-oauthlib
     #   social-auth-core
-openedx-events==9.2.0
+openedx-events==9.4.0
     # via
     #   -r requirements/validation.txt
     #   openedx-ledger
@@ -367,7 +367,7 @@ packaging==23.2
     #   pyproject-api
     #   pytest
     #   tox
-path==16.9.0
+path==16.10.0
     # via edx-i18n-tools
 pbr==6.0.0
     # via
@@ -383,13 +383,13 @@ pkgutil-resolve-name==1.3.10
     # via
     #   -r requirements/validation.txt
     #   jsonschema
-platformdirs==4.1.0
+platformdirs==4.2.0
     # via
     #   -r requirements/validation.txt
     #   pylint
     #   tox
     #   virtualenv
-pluggy==1.3.0
+pluggy==1.4.0
     # via
     #   -r requirements/validation.txt
     #   diff-cover
@@ -401,7 +401,7 @@ ply==3.11
     #   djangoql
 polib==1.2.0
     # via edx-i18n-tools
-psutil==5.9.7
+psutil==5.9.8
     # via
     #   -r requirements/validation.txt
     #   edx-django-utils
@@ -466,20 +466,20 @@ pyproject-hooks==1.0.0
     # via
     #   -r requirements/pip-tools.txt
     #   build
-pytest==7.4.4
+pytest==8.0.0
     # via
     #   -r requirements/validation.txt
     #   pytest-cov
     #   pytest-django
 pytest-cov==4.1.0
     # via -r requirements/validation.txt
-pytest-django==4.7.0
+pytest-django==4.8.0
     # via -r requirements/validation.txt
 python-dateutil==2.8.2
     # via
     #   -r requirements/validation.txt
     #   faker
-python-slugify==8.0.1
+python-slugify==8.0.3
     # via
     #   -r requirements/validation.txt
     #   code-annotations
@@ -487,7 +487,7 @@ python3-openid==3.2.0
     # via
     #   -r requirements/validation.txt
     #   social-auth-core
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   -r requirements/validation.txt
     #   djangorestframework
@@ -511,7 +511,7 @@ redis==5.0.1
     # via
     #   -r requirements/validation.txt
     #   openedx-ledger
-referencing==0.32.1
+referencing==0.33.0
     # via
     #   -r requirements/validation.txt
     #   jsonschema
@@ -583,7 +583,7 @@ social-auth-app-django==5.4.0
     # via
     #   -r requirements/validation.txt
     #   edx-auth-backends
-social-auth-core==4.5.1
+social-auth-core==4.5.2
     # via
     #   -r requirements/validation.txt
     #   edx-auth-backends
@@ -638,7 +638,7 @@ uritemplate==4.1.1
     #   -r requirements/validation.txt
     #   drf-spectacular
     #   drf-yasg
-urllib3==2.1.0
+urllib3==2.2.0
     # via
     #   -r requirements/validation.txt
     #   requests
diff --git a/requirements/doc.txt b/requirements/doc.txt
index f3c80d29..fde2ca58 100644
--- a/requirements/doc.txt
+++ b/requirements/doc.txt
@@ -13,7 +13,7 @@ asgiref==3.7.2
     #   -r requirements/test.txt
     #   django
     #   django-cors-headers
-astroid==3.0.2
+astroid==3.0.3
     # via
     #   -r requirements/test.txt
     #   pylint
@@ -44,7 +44,7 @@ cachetools==5.3.2
     # via
     #   -r requirements/test.txt
     #   tox
-certifi==2023.11.17
+certifi==2024.2.2
     # via
     #   -r requirements/test.txt
     #   requests
@@ -72,7 +72,7 @@ click-log==0.4.0
     # via
     #   -r requirements/test.txt
     #   edx-lint
-code-annotations==1.5.0
+code-annotations==1.6.0
     # via
     #   -r requirements/test.txt
     #   edx-lint
@@ -80,12 +80,12 @@ colorama==0.4.6
     # via
     #   -r requirements/test.txt
     #   tox
-coverage[toml]==7.4.0
+coverage[toml]==7.4.1
     # via
     #   -r requirements/test.txt
     #   coverage
     #   pytest-cov
-cryptography==41.0.7
+cryptography==42.0.2
     # via
     #   -r requirements/test.txt
     #   pyjwt
@@ -98,7 +98,7 @@ defusedxml==0.8.0rc2
     #   -r requirements/test.txt
     #   python3-openid
     #   social-auth-core
-dill==0.3.7
+dill==0.3.8
     # via
     #   -r requirements/test.txt
     #   pylint
@@ -211,7 +211,7 @@ edx-django-utils==5.10.1
     #   edx-rest-api-client
     #   getsmarter-api-clients
     #   openedx-ledger
-edx-drf-extensions==9.1.2
+edx-drf-extensions==10.1.0
     # via
     #   -r requirements/test.txt
     #   edx-rbac
@@ -235,7 +235,7 @@ exceptiongroup==1.2.0
     #   pytest
 factory-boy==3.3.0
     # via -r requirements/test.txt
-faker==22.2.0
+faker==22.6.0
     # via
     #   -r requirements/test.txt
     #   factory-boy
@@ -296,7 +296,7 @@ jsonfield2==4.0.0.post0
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
-jsonschema==4.21.0
+jsonschema==4.21.1
     # via
     #   -r requirements/test.txt
     #   drf-spectacular
@@ -308,7 +308,7 @@ keyring==24.3.0
     # via twine
 markdown-it-py==3.0.0
     # via rich
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via
     #   -r requirements/test.txt
     #   jinja2
@@ -322,11 +322,11 @@ mock==5.1.0
     # via -r requirements/test.txt
 more-itertools==10.2.0
     # via jaraco-classes
-mysqlclient==2.2.1
+mysqlclient==2.2.3
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
-newrelic==9.5.0
+newrelic==9.6.0
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
@@ -338,7 +338,7 @@ oauthlib==3.2.2
     #   getsmarter-api-clients
     #   requests-oauthlib
     #   social-auth-core
-openedx-events==9.2.0
+openedx-events==9.4.0
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
@@ -364,13 +364,13 @@ pkgutil-resolve-name==1.3.10
     # via
     #   -r requirements/test.txt
     #   jsonschema
-platformdirs==4.1.0
+platformdirs==4.2.0
     # via
     #   -r requirements/test.txt
     #   pylint
     #   tox
     #   virtualenv
-pluggy==1.3.0
+pluggy==1.4.0
     # via
     #   -r requirements/test.txt
     #   pytest
@@ -379,7 +379,7 @@ ply==3.11
     # via
     #   -r requirements/test.txt
     #   djangoql
-psutil==5.9.7
+psutil==5.9.8
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
@@ -442,20 +442,20 @@ pyproject-api==1.6.1
     #   tox
 pyproject-hooks==1.0.0
     # via build
-pytest==7.4.4
+pytest==8.0.0
     # via
     #   -r requirements/test.txt
     #   pytest-cov
     #   pytest-django
 pytest-cov==4.1.0
     # via -r requirements/test.txt
-pytest-django==4.7.0
+pytest-django==4.8.0
     # via -r requirements/test.txt
 python-dateutil==2.8.2
     # via
     #   -r requirements/test.txt
     #   faker
-python-slugify==8.0.1
+python-slugify==8.0.3
     # via
     #   -r requirements/test.txt
     #   code-annotations
@@ -463,7 +463,7 @@ python3-openid==3.2.0
     # via
     #   -r requirements/test.txt
     #   social-auth-core
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   -r requirements/test.txt
     #   babel
@@ -485,7 +485,7 @@ redis==5.0.1
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
-referencing==0.32.1
+referencing==0.33.0
     # via
     #   -r requirements/test.txt
     #   jsonschema
@@ -550,7 +550,7 @@ social-auth-app-django==5.4.0
     # via
     #   -r requirements/test.txt
     #   edx-auth-backends
-social-auth-core==4.5.1
+social-auth-core==4.5.2
     # via
     #   -r requirements/test.txt
     #   edx-auth-backends
@@ -626,7 +626,7 @@ uritemplate==4.1.1
     #   -r requirements/test.txt
     #   drf-spectacular
     #   drf-yasg
-urllib3==2.1.0
+urllib3==2.2.0
     # via
     #   -r requirements/test.txt
     #   requests
diff --git a/requirements/pip.txt b/requirements/pip.txt
index a4cf5307..dfa2b778 100644
--- a/requirements/pip.txt
+++ b/requirements/pip.txt
@@ -8,7 +8,7 @@ wheel==0.42.0
     # via -r requirements/pip.in
 
 # The following packages are considered to be unsafe in a requirements file:
-pip==23.3.2
+pip==24.0
     # via -r requirements/pip.in
 setuptools==69.0.3
     # via -r requirements/pip.in
diff --git a/requirements/production.txt b/requirements/production.txt
index bc9d79d8..9adcaf24 100644
--- a/requirements/production.txt
+++ b/requirements/production.txt
@@ -23,7 +23,7 @@ backports-zoneinfo==0.2.1
     # via
     #   -r requirements/base.txt
     #   django
-certifi==2023.11.17
+certifi==2024.2.2
     # via
     #   -r requirements/base.txt
     #   requests
@@ -40,7 +40,7 @@ click==8.1.7
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
-cryptography==41.0.7
+cryptography==42.0.2
     # via
     #   -r requirements/base.txt
     #   pyjwt
@@ -142,7 +142,7 @@ edx-django-utils==5.10.1
     #   edx-rest-api-client
     #   getsmarter-api-clients
     #   openedx-ledger
-edx-drf-extensions==9.1.2
+edx-drf-extensions==10.1.0
     # via
     #   -r requirements/base.txt
     #   edx-rbac
@@ -188,7 +188,7 @@ jsonfield2==4.0.0.post0
     # via
     #   -r requirements/base.txt
     #   openedx-ledger
-jsonschema==4.21.0
+jsonschema==4.21.1
     # via
     #   -r requirements/base.txt
     #   drf-spectacular
@@ -196,12 +196,12 @@ jsonschema-specifications==2023.12.1
     # via
     #   -r requirements/base.txt
     #   jsonschema
-mysqlclient==2.2.1
+mysqlclient==2.2.3
     # via
     #   -r requirements/base.txt
     #   -r requirements/production.in
     #   openedx-ledger
-newrelic==9.5.0
+newrelic==9.6.0
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -211,7 +211,7 @@ oauthlib==3.2.2
     #   getsmarter-api-clients
     #   requests-oauthlib
     #   social-auth-core
-openedx-events==9.2.0
+openedx-events==9.4.0
     # via
     #   -r requirements/base.txt
     #   openedx-ledger
@@ -234,7 +234,7 @@ ply==3.11
     # via
     #   -r requirements/base.txt
     #   djangoql
-psutil==5.9.7
+psutil==5.9.8
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -267,7 +267,7 @@ python3-openid==3.2.0
     # via
     #   -r requirements/base.txt
     #   social-auth-core
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   -r requirements/base.txt
     #   djangorestframework
@@ -285,7 +285,7 @@ redis==5.0.1
     # via
     #   -r requirements/base.txt
     #   openedx-ledger
-referencing==0.32.1
+referencing==0.33.0
     # via
     #   -r requirements/base.txt
     #   jsonschema
@@ -330,7 +330,7 @@ social-auth-app-django==5.4.0
     # via
     #   -r requirements/base.txt
     #   edx-auth-backends
-social-auth-core==4.5.1
+social-auth-core==4.5.2
     # via
     #   -r requirements/base.txt
     #   edx-auth-backends
@@ -355,7 +355,7 @@ uritemplate==4.1.1
     #   -r requirements/base.txt
     #   drf-spectacular
     #   drf-yasg
-urllib3==2.1.0
+urllib3==2.2.0
     # via
     #   -r requirements/base.txt
     #   requests
diff --git a/requirements/quality.txt b/requirements/quality.txt
index eba12574..74b93b56 100644
--- a/requirements/quality.txt
+++ b/requirements/quality.txt
@@ -9,7 +9,7 @@ asgiref==3.7.2
     #   -r requirements/test.txt
     #   django
     #   django-cors-headers
-astroid==3.0.2
+astroid==3.0.3
     # via
     #   -r requirements/test.txt
     #   pylint
@@ -32,7 +32,7 @@ cachetools==5.3.2
     # via
     #   -r requirements/test.txt
     #   tox
-certifi==2023.11.17
+certifi==2024.2.2
     # via
     #   -r requirements/test.txt
     #   requests
@@ -60,7 +60,7 @@ click-log==0.4.0
     # via
     #   -r requirements/test.txt
     #   edx-lint
-code-annotations==1.5.0
+code-annotations==1.6.0
     # via
     #   -r requirements/test.txt
     #   edx-lint
@@ -68,12 +68,12 @@ colorama==0.4.6
     # via
     #   -r requirements/test.txt
     #   tox
-coverage[toml]==7.4.0
+coverage[toml]==7.4.1
     # via
     #   -r requirements/test.txt
     #   coverage
     #   pytest-cov
-cryptography==41.0.7
+cryptography==42.0.2
     # via
     #   -r requirements/test.txt
     #   pyjwt
@@ -86,7 +86,7 @@ defusedxml==0.8.0rc2
     #   -r requirements/test.txt
     #   python3-openid
     #   social-auth-core
-dill==0.3.7
+dill==0.3.8
     # via
     #   -r requirements/test.txt
     #   pylint
@@ -192,7 +192,7 @@ edx-django-utils==5.10.1
     #   edx-rest-api-client
     #   getsmarter-api-clients
     #   openedx-ledger
-edx-drf-extensions==9.1.2
+edx-drf-extensions==10.1.0
     # via
     #   -r requirements/test.txt
     #   edx-rbac
@@ -218,7 +218,7 @@ exceptiongroup==1.2.0
     #   pytest
 factory-boy==3.3.0
     # via -r requirements/test.txt
-faker==22.2.0
+faker==22.6.0
     # via
     #   -r requirements/test.txt
     #   factory-boy
@@ -275,7 +275,7 @@ jsonfield2==4.0.0.post0
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
-jsonschema==4.21.0
+jsonschema==4.21.1
     # via
     #   -r requirements/test.txt
     #   drf-spectacular
@@ -287,7 +287,7 @@ keyring==24.3.0
     # via twine
 markdown-it-py==3.0.0
     # via rich
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via
     #   -r requirements/test.txt
     #   jinja2
@@ -301,11 +301,11 @@ mock==5.1.0
     # via -r requirements/test.txt
 more-itertools==10.2.0
     # via jaraco-classes
-mysqlclient==2.2.1
+mysqlclient==2.2.3
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
-newrelic==9.5.0
+newrelic==9.6.0
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
@@ -317,7 +317,7 @@ oauthlib==3.2.2
     #   getsmarter-api-clients
     #   requests-oauthlib
     #   social-auth-core
-openedx-events==9.2.0
+openedx-events==9.4.0
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
@@ -340,13 +340,13 @@ pkgutil-resolve-name==1.3.10
     # via
     #   -r requirements/test.txt
     #   jsonschema
-platformdirs==4.1.0
+platformdirs==4.2.0
     # via
     #   -r requirements/test.txt
     #   pylint
     #   tox
     #   virtualenv
-pluggy==1.3.0
+pluggy==1.4.0
     # via
     #   -r requirements/test.txt
     #   pytest
@@ -355,7 +355,7 @@ ply==3.11
     # via
     #   -r requirements/test.txt
     #   djangoql
-psutil==5.9.7
+psutil==5.9.8
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
@@ -414,20 +414,20 @@ pyproject-api==1.6.1
     # via
     #   -r requirements/test.txt
     #   tox
-pytest==7.4.4
+pytest==8.0.0
     # via
     #   -r requirements/test.txt
     #   pytest-cov
     #   pytest-django
 pytest-cov==4.1.0
     # via -r requirements/test.txt
-pytest-django==4.7.0
+pytest-django==4.8.0
     # via -r requirements/test.txt
 python-dateutil==2.8.2
     # via
     #   -r requirements/test.txt
     #   faker
-python-slugify==8.0.1
+python-slugify==8.0.3
     # via
     #   -r requirements/test.txt
     #   code-annotations
@@ -435,7 +435,7 @@ python3-openid==3.2.0
     # via
     #   -r requirements/test.txt
     #   social-auth-core
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   -r requirements/test.txt
     #   djangorestframework
@@ -456,7 +456,7 @@ redis==5.0.1
     # via
     #   -r requirements/test.txt
     #   openedx-ledger
-referencing==0.32.1
+referencing==0.33.0
     # via
     #   -r requirements/test.txt
     #   jsonschema
@@ -518,7 +518,7 @@ social-auth-app-django==5.4.0
     # via
     #   -r requirements/test.txt
     #   edx-auth-backends
-social-auth-core==4.5.1
+social-auth-core==4.5.2
     # via
     #   -r requirements/test.txt
     #   edx-auth-backends
@@ -568,7 +568,7 @@ uritemplate==4.1.1
     #   -r requirements/test.txt
     #   drf-spectacular
     #   drf-yasg
-urllib3==2.1.0
+urllib3==2.2.0
     # via
     #   -r requirements/test.txt
     #   requests
diff --git a/requirements/test.txt b/requirements/test.txt
index db22452a..aba78e1c 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -9,7 +9,7 @@ asgiref==3.7.2
     #   -r requirements/base.txt
     #   django
     #   django-cors-headers
-astroid==3.0.2
+astroid==3.0.3
     # via
     #   pylint
     #   pylint-celery
@@ -29,7 +29,7 @@ backports-zoneinfo==0.2.1
     #   django
 cachetools==5.3.2
     # via tox
-certifi==2023.11.17
+certifi==2024.2.2
     # via
     #   -r requirements/base.txt
     #   requests
@@ -53,17 +53,17 @@ click==8.1.7
     #   edx-lint
 click-log==0.4.0
     # via edx-lint
-code-annotations==1.5.0
+code-annotations==1.6.0
     # via
     #   -r requirements/test.in
     #   edx-lint
 colorama==0.4.6
     # via tox
-coverage[toml]==7.4.0
+coverage[toml]==7.4.1
     # via
     #   -r requirements/test.in
     #   pytest-cov
-cryptography==41.0.7
+cryptography==42.0.2
     # via
     #   -r requirements/base.txt
     #   pyjwt
@@ -75,7 +75,7 @@ defusedxml==0.8.0rc2
     #   -r requirements/base.txt
     #   python3-openid
     #   social-auth-core
-dill==0.3.7
+dill==0.3.8
     # via pylint
 distlib==0.3.8
     # via virtualenv
@@ -174,7 +174,7 @@ edx-django-utils==5.10.1
     #   edx-rest-api-client
     #   getsmarter-api-clients
     #   openedx-ledger
-edx-drf-extensions==9.1.2
+edx-drf-extensions==10.1.0
     # via
     #   -r requirements/base.txt
     #   edx-rbac
@@ -196,7 +196,7 @@ exceptiongroup==1.2.0
     # via pytest
 factory-boy==3.3.0
     # via -r requirements/test.in
-faker==22.2.0
+faker==22.6.0
     # via factory-boy
 fastavro==1.9.3
     # via
@@ -232,7 +232,7 @@ jsonfield2==4.0.0.post0
     # via
     #   -r requirements/base.txt
     #   openedx-ledger
-jsonschema==4.21.0
+jsonschema==4.21.1
     # via
     #   -r requirements/base.txt
     #   drf-spectacular
@@ -240,17 +240,17 @@ jsonschema-specifications==2023.12.1
     # via
     #   -r requirements/base.txt
     #   jsonschema
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via jinja2
 mccabe==0.7.0
     # via pylint
 mock==5.1.0
     # via -r requirements/test.in
-mysqlclient==2.2.1
+mysqlclient==2.2.3
     # via
     #   -r requirements/base.txt
     #   openedx-ledger
-newrelic==9.5.0
+newrelic==9.6.0
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -260,7 +260,7 @@ oauthlib==3.2.2
     #   getsmarter-api-clients
     #   requests-oauthlib
     #   social-auth-core
-openedx-events==9.2.0
+openedx-events==9.4.0
     # via
     #   -r requirements/base.txt
     #   openedx-ledger
@@ -281,12 +281,12 @@ pkgutil-resolve-name==1.3.10
     # via
     #   -r requirements/base.txt
     #   jsonschema
-platformdirs==4.1.0
+platformdirs==4.2.0
     # via
     #   pylint
     #   tox
     #   virtualenv
-pluggy==1.3.0
+pluggy==1.4.0
     # via
     #   pytest
     #   tox
@@ -294,7 +294,7 @@ ply==3.11
     # via
     #   -r requirements/base.txt
     #   djangoql
-psutil==5.9.7
+psutil==5.9.8
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -337,23 +337,23 @@ pynacl==1.5.0
     #   edx-django-utils
 pyproject-api==1.6.1
     # via tox
-pytest==7.4.4
+pytest==8.0.0
     # via
     #   pytest-cov
     #   pytest-django
 pytest-cov==4.1.0
     # via -r requirements/test.in
-pytest-django==4.7.0
+pytest-django==4.8.0
     # via -r requirements/test.in
 python-dateutil==2.8.2
     # via faker
-python-slugify==8.0.1
+python-slugify==8.0.3
     # via code-annotations
 python3-openid==3.2.0
     # via
     #   -r requirements/base.txt
     #   social-auth-core
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   -r requirements/base.txt
     #   djangorestframework
@@ -372,7 +372,7 @@ redis==5.0.1
     # via
     #   -r requirements/base.txt
     #   openedx-ledger
-referencing==0.32.1
+referencing==0.33.0
     # via
     #   -r requirements/base.txt
     #   jsonschema
@@ -422,7 +422,7 @@ social-auth-app-django==5.4.0
     # via
     #   -r requirements/base.txt
     #   edx-auth-backends
-social-auth-core==4.5.1
+social-auth-core==4.5.2
     # via
     #   -r requirements/base.txt
     #   edx-auth-backends
@@ -464,7 +464,7 @@ uritemplate==4.1.1
     #   -r requirements/base.txt
     #   drf-spectacular
     #   drf-yasg
-urllib3==2.1.0
+urllib3==2.2.0
     # via
     #   -r requirements/base.txt
     #   requests
diff --git a/requirements/validation.txt b/requirements/validation.txt
index 906c2cc4..4488d19d 100644
--- a/requirements/validation.txt
+++ b/requirements/validation.txt
@@ -10,7 +10,7 @@ asgiref==3.7.2
     #   -r requirements/test.txt
     #   django
     #   django-cors-headers
-astroid==3.0.2
+astroid==3.0.3
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -38,7 +38,7 @@ cachetools==5.3.2
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   tox
-certifi==2023.11.17
+certifi==2024.2.2
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -72,7 +72,7 @@ click-log==0.4.0
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   edx-lint
-code-annotations==1.5.0
+code-annotations==1.6.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -82,13 +82,13 @@ colorama==0.4.6
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   tox
-coverage[toml]==7.4.0
+coverage[toml]==7.4.1
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   coverage
     #   pytest-cov
-cryptography==41.0.7
+cryptography==42.0.2
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -105,7 +105,7 @@ defusedxml==0.8.0rc2
     #   -r requirements/test.txt
     #   python3-openid
     #   social-auth-core
-dill==0.3.7
+dill==0.3.8
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -240,7 +240,7 @@ edx-django-utils==5.10.1
     #   edx-rest-api-client
     #   getsmarter-api-clients
     #   openedx-ledger
-edx-drf-extensions==9.1.2
+edx-drf-extensions==10.1.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -274,7 +274,7 @@ factory-boy==3.3.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
-faker==22.2.0
+faker==22.6.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -346,7 +346,7 @@ jsonfield2==4.0.0.post0
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   openedx-ledger
-jsonschema==4.21.0
+jsonschema==4.21.1
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -364,7 +364,7 @@ markdown-it-py==3.0.0
     # via
     #   -r requirements/quality.txt
     #   rich
-markupsafe==2.1.3
+markupsafe==2.1.5
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -386,12 +386,12 @@ more-itertools==10.2.0
     # via
     #   -r requirements/quality.txt
     #   jaraco-classes
-mysqlclient==2.2.1
+mysqlclient==2.2.3
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   openedx-ledger
-newrelic==9.5.0
+newrelic==9.6.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -407,7 +407,7 @@ oauthlib==3.2.2
     #   getsmarter-api-clients
     #   requests-oauthlib
     #   social-auth-core
-openedx-events==9.2.0
+openedx-events==9.4.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -438,14 +438,14 @@ pkgutil-resolve-name==1.3.10
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   jsonschema
-platformdirs==4.1.0
+platformdirs==4.2.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   pylint
     #   tox
     #   virtualenv
-pluggy==1.3.0
+pluggy==1.4.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -456,7 +456,7 @@ ply==3.11
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   djangoql
-psutil==5.9.7
+psutil==5.9.8
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -528,7 +528,7 @@ pyproject-api==1.6.1
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   tox
-pytest==7.4.4
+pytest==8.0.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -538,7 +538,7 @@ pytest-cov==4.1.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
-pytest-django==4.7.0
+pytest-django==4.8.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -547,7 +547,7 @@ python-dateutil==2.8.2
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   faker
-python-slugify==8.0.1
+python-slugify==8.0.3
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -557,7 +557,7 @@ python3-openid==3.2.0
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   social-auth-core
-pytz==2023.3.post1
+pytz==2024.1
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -583,7 +583,7 @@ redis==5.0.1
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   openedx-ledger
-referencing==0.32.1
+referencing==0.33.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -666,7 +666,7 @@ social-auth-app-django==5.4.0
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
     #   edx-auth-backends
-social-auth-core==4.5.1
+social-auth-core==4.5.2
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt
@@ -726,7 +726,7 @@ uritemplate==4.1.1
     #   -r requirements/test.txt
     #   drf-spectacular
     #   drf-yasg
-urllib3==2.1.0
+urllib3==2.2.0
     # via
     #   -r requirements/quality.txt
     #   -r requirements/test.txt