diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef1529db5..c80b356e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: strategy: matrix: python-version: ["py38"] - django-version: ["django32", "django42"] + django-version: ["django42"] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 @@ -65,7 +65,7 @@ jobs: strategy: matrix: python-version: ["py38"] - django-version: ["django32"] + django-version: ["django42"] steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 diff --git a/Makefile b/Makefile index 449af3b88..879bc4c23 100644 --- a/Makefile +++ b/Makefile @@ -58,11 +58,10 @@ $(COMMON_CONSTRAINTS_TXT): export CUSTOM_COMPILE_COMMAND = make upgrade upgrade: piptools $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in - # 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-271 for more details. sed '/^django-simple-history==/d' requirements/common_constraints.txt > requirements/common_constraints.tmp mv requirements/common_constraints.tmp requirements/common_constraints.txt + sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp + mv requirements/common_constraints.tmp requirements/common_constraints.txt pip-compile --allow-unsafe --rebuild --upgrade -o requirements/pip.txt requirements/pip.in pip-compile --rebuild --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in pip install -qr requirements/pip.txt diff --git a/credentials/apps/credentials/migrations/0027_alter_historicalprogramcompletionemailconfiguration_options.py b/credentials/apps/credentials/migrations/0027_alter_historicalprogramcompletionemailconfiguration_options.py new file mode 100644 index 000000000..0ebd51d1f --- /dev/null +++ b/credentials/apps/credentials/migrations/0027_alter_historicalprogramcompletionemailconfiguration_options.py @@ -0,0 +1,20 @@ +# Generated by Django 4.2.5 on 2023-09-20 08:27 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("credentials", "0026_alter_historicalprogramcompletionemailconfiguration_options"), + ] + + operations = [ + migrations.AlterModelOptions( + name="historicalprogramcompletionemailconfiguration", + options={ + "get_latest_by": "history_date", + "ordering": ("-history_date", "-history_id"), + "verbose_name": "historical program completion email configuration", + }, + ), + ] diff --git a/credentials/apps/records/views.py b/credentials/apps/records/views.py index 28cbb751c..9370baa71 100644 --- a/credentials/apps/records/views.py +++ b/credentials/apps/records/views.py @@ -327,10 +327,10 @@ def get(self, request, *args, **kwargs): context = { "page": { "path": request.path, - "referrer": request.META.get("HTTP_REFERER"), + "referrer": request.headers.get("referer"), "url": request.build_absolute_uri(), }, - "userAgent": request.META.get("HTTP_USER_AGENT"), + "userAgent": request.headers.get("user-agent"), } # Use the value of 'ajs_anonymous_id' as the anonymous id if the cookie exists, otherwise generate a UUID to diff --git a/credentials/settings/base.py b/credentials/settings/base.py index 410331218..d9f251a85 100644 --- a/credentials/settings/base.py +++ b/credentials/settings/base.py @@ -226,6 +226,9 @@ TIME_ZONE = "UTC" TIME_ZONE_CLASS = timezone.utc +# https://docs.djangoproject.com/en/4.2/releases/4.0/#zoneinfo-default-timezone-implementation +USE_DEPRECATED_PYTZ = True + USE_I18N = True USE_L10N = True @@ -234,8 +237,6 @@ LOCALE_PATHS = (root("conf", "locale"),) -DEFAULT_HASHING_ALGORITHM = "sha1" - DEFAULT_AUTO_FIELD = "django.db.models.AutoField" # MEDIA CONFIGURATION diff --git a/credentials/urls.py b/credentials/urls.py index 1616c1581..c68e740b9 100644 --- a/credentials/urls.py +++ b/credentials/urls.py @@ -62,8 +62,8 @@ path("health/", core_views.health, name="health"), path("management/", include(("credentials.apps.edx_django_extensions.urls", "management"), namespace="management")), path("records/", include(("credentials.apps.records.urls", "records"), namespace="records")), - path("program-listing/", ProgramListingView.as_view(), name="program_listing"), - path("favicon.ico", FaviconView.as_view(permanent=True)), + re_path(r"^program-listing/", ProgramListingView.as_view(), name="program_listing"), + re_path(r"^favicon\.ico$", FaviconView.as_view(permanent=True)), path("mock-toggles", MockToggleStateView.as_view()), ] diff --git a/requirements/all.txt b/requirements/all.txt index 0335306d4..9af00c669 100644 --- a/requirements/all.txt +++ b/requirements/all.txt @@ -31,6 +31,11 @@ backoff==1.10.0 # -r requirements/dev.txt # -r requirements/production.txt # analytics-python +backports-zoneinfo==0.2.1 + # via + # -r requirements/dev.txt + # -r requirements/production.txt + # django bcrypt==4.0.1 # via # -r requirements/dev.txt @@ -41,11 +46,11 @@ bleach==6.0.0 # via # -r requirements/dev.txt # -r requirements/production.txt -boto3==1.28.57 +boto3==1.28.61 # via # -r requirements/production.txt # django-ses -botocore==1.31.57 +botocore==1.31.61 # via # -r requirements/production.txt # boto3 @@ -61,7 +66,7 @@ cffi==1.16.0 # -r requirements/production.txt # cryptography # pynacl -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -96,7 +101,7 @@ coreschema==0.0.4 # -r requirements/dev.txt # -r requirements/production.txt # coreapi -coverage==7.3.1 +coverage==7.3.2 # via -r requirements/dev.txt cryptography==41.0.4 # via @@ -107,7 +112,7 @@ cryptography==41.0.4 # social-auth-core ddt==1.6.0 # via -r requirements/dev.txt -defusedxml==0.8.0rc1 +defusedxml==0.8.0rc2 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -129,10 +134,8 @@ distro==1.8.0 # via # -r requirements/dev.txt # docker-compose -django==3.2.21 +django==4.2.6 # via - # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/dev.txt # -r requirements/production.txt # django-appconf @@ -209,7 +212,7 @@ django-statici18n==2.4.0 # via # -r requirements/dev.txt # -r requirements/production.txt -django-storages==1.14 +django-storages==1.14.1 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -293,7 +296,6 @@ edx-event-bus-kafka==5.5.0 # -r requirements/production.txt edx-i18n-tools==1.3.0 # via - # -c requirements/constraints.txt # -r requirements/dev.txt # -r requirements/production.txt # edx-credentials-themes @@ -324,7 +326,7 @@ faker==19.6.2 # via # -r requirements/dev.txt # factory-boy -fastavro==1.8.3 +fastavro==1.8.4 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -336,7 +338,7 @@ filelock==3.12.4 # virtualenv gevent==23.9.1 # via -r requirements/production.txt -greenlet==2.0.2 +greenlet==3.0.0 # via # -r requirements/production.txt # gevent @@ -391,6 +393,11 @@ lazy-object-proxy==1.9.0 # via # -r requirements/dev.txt # astroid +lxml==4.9.3 + # via + # -r requirements/dev.txt + # -r requirements/production.txt + # edx-i18n-tools markdown==3.4.4 # via # -r requirements/dev.txt @@ -439,12 +446,12 @@ openedx-atlas==0.5.0 # via # -r requirements/dev.txt # -r requirements/production.txt -openedx-events==8.6.0 +openedx-events==8.9.0 # via # -r requirements/dev.txt # -r requirements/production.txt # edx-event-bus-kafka -packaging==23.1 +packaging==23.2 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -476,7 +483,7 @@ pillow==10.0.1 # via # -r requirements/dev.txt # -r requirements/production.txt -platformdirs==3.10.0 +platformdirs==3.11.0 # via # -r requirements/dev.txt # black @@ -519,7 +526,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==2.17.6 +pylint==2.17.7 # via # -r requirements/dev.txt # edx-lint @@ -599,12 +606,9 @@ pytz==2023.3.post1 # via # -r requirements/dev.txt # -r requirements/production.txt - # django # django-ses # djangorestframework # drf-yasg -pywatchman==1.4.1 ; "linux" in sys_platform - # via -r requirements/dev.txt pyyaml==5.4.1 # via # -c requirements/constraints.txt @@ -716,7 +720,7 @@ text-unidecode==1.3 # -r requirements/dev.txt # -r requirements/production.txt # python-slugify -texttable==1.6.7 +texttable==1.7.0 # via # -r requirements/dev.txt # docker-compose @@ -756,7 +760,7 @@ uritemplate==4.1.1 # -r requirements/production.txt # coreapi # drf-yasg -urllib3==1.26.16 +urllib3==1.26.17 # via # -c requirements/constraints.txt # -r requirements/dev.txt @@ -796,7 +800,7 @@ zope-event==5.0 # via # -r requirements/production.txt # gevent -zope-interface==6.0 +zope-interface==6.1 # via # -r requirements/production.txt # gevent diff --git a/requirements/base.txt b/requirements/base.txt index 5fd8b6982..d5265220c 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -16,6 +16,8 @@ attrs==23.1.0 # openedx-events backoff==1.10.0 # via analytics-python +backports-zoneinfo==0.2.1 + # via django bleach==6.0.0 # via -r requirements/base.in certifi==2023.7.22 @@ -24,7 +26,7 @@ cffi==1.16.0 # via # cryptography # pynacl -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 # via requests click==8.1.7 # via @@ -43,16 +45,14 @@ cryptography==41.0.4 # via # pyjwt # social-auth-core -defusedxml==0.8.0rc1 +defusedxml==0.8.0rc2 # via # python3-openid # social-auth-core didkit==0.3.2 # via -r requirements/base.in -django==3.2.21 +django==4.2.6 # via - # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.in # django-appconf # django-cors-headers @@ -102,7 +102,7 @@ django-sortedm2m==3.1.1 # via -r requirements/base.in django-statici18n==2.4.0 # via -r requirements/base.in -django-storages==1.14 +django-storages==1.14.1 # via -r requirements/base.in django-waffle==4.0.0 # via @@ -145,9 +145,7 @@ edx-drf-extensions==8.10.0 edx-event-bus-kafka==5.5.0 # via -r requirements/base.in edx-i18n-tools==1.3.0 - # via - # -c requirements/constraints.txt - # edx-credentials-themes + # via edx-credentials-themes edx-opaque-keys[django]==2.5.1 # via # -r requirements/base.in @@ -159,7 +157,7 @@ edx-toggles==5.1.0 # via # -r requirements/base.in # edx-event-bus-kafka -fastavro==1.8.3 +fastavro==1.8.4 # via openedx-events idna==3.4 # via requests @@ -173,6 +171,8 @@ jinja2==3.1.2 # via # code-annotations # coreschema +lxml==4.9.3 + # via edx-i18n-tools markdown==3.4.4 # via -r requirements/base.in markupsafe==2.1.3 @@ -193,9 +193,9 @@ openapi-codec==1.3.2 # via django-rest-swagger openedx-atlas==0.5.0 # via -r requirements/base.in -openedx-events==8.6.0 +openedx-events==8.9.0 # via edx-event-bus-kafka -packaging==23.1 +packaging==23.2 # via drf-yasg path==16.7.1 # via edx-i18n-tools @@ -239,7 +239,6 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/base.in - # django # djangorestframework # drf-yasg pyyaml==5.4.1 @@ -311,7 +310,7 @@ uritemplate==4.1.1 # via # coreapi # drf-yasg -urllib3==1.26.16 +urllib3==1.26.17 # via # -c requirements/constraints.txt # requests diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 5d2db3de5..fce2c28e8 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -18,7 +18,7 @@ # using LTS django version -Django<4.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 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 242358e2a..6097c9ba8 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -11,8 +11,6 @@ # Common constraints for edx repos -c common_constraints.txt -Django<4.0 - # The update to pyyaml 6.x failed as docker-compose wants <6,>=3.10. Pinning to <6.0. This constraint will be # re-evaluated as part of APER-1556. pyyaml<6.0 diff --git a/requirements/dev.txt b/requirements/dev.txt index fa9b40348..f5f99b602 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -27,6 +27,10 @@ backoff==1.10.0 # via # -r requirements/test.txt # analytics-python +backports-zoneinfo==0.2.1 + # via + # -r requirements/test.txt + # django bcrypt==4.0.1 # via paramiko black==23.9.1 @@ -42,7 +46,7 @@ cffi==1.16.0 # -r requirements/test.txt # cryptography # pynacl -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 # via # -r requirements/test.txt # requests @@ -72,7 +76,7 @@ coreschema==0.0.4 # via # -r requirements/test.txt # coreapi -coverage==7.3.1 +coverage==7.3.2 # via -r requirements/test.txt cryptography==41.0.4 # via @@ -82,7 +86,7 @@ cryptography==41.0.4 # social-auth-core ddt==1.6.0 # via -r requirements/test.txt -defusedxml==0.8.0rc1 +defusedxml==0.8.0rc2 # via # -r requirements/test.txt # python3-openid @@ -99,10 +103,8 @@ distlib==0.3.7 # virtualenv distro==1.8.0 # via docker-compose -django==3.2.21 +django==4.2.6 # via - # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/test.txt # django-appconf # django-cors-headers @@ -158,7 +160,7 @@ django-sortedm2m==3.1.1 # via -r requirements/test.txt django-statici18n==2.4.0 # via -r requirements/test.txt -django-storages==1.14 +django-storages==1.14.1 # via -r requirements/test.txt django-waffle==4.0.0 # via @@ -212,7 +214,6 @@ edx-event-bus-kafka==5.5.0 # via -r requirements/test.txt edx-i18n-tools==1.3.0 # via - # -c requirements/constraints.txt # -r requirements/dev.in # -r requirements/test.txt # edx-credentials-themes @@ -239,7 +240,7 @@ faker==19.6.2 # via # -r requirements/test.txt # factory-boy -fastavro==1.8.3 +fastavro==1.8.4 # via # -r requirements/test.txt # openedx-events @@ -285,6 +286,10 @@ lazy-object-proxy==1.9.0 # via # -r requirements/test.txt # astroid +lxml==4.9.3 + # via + # -r requirements/test.txt + # edx-i18n-tools markdown==3.4.4 # via -r requirements/test.txt markupsafe==2.1.3 @@ -320,11 +325,11 @@ openapi-codec==1.3.2 # django-rest-swagger openedx-atlas==0.5.0 # via -r requirements/test.txt -openedx-events==8.6.0 +openedx-events==8.9.0 # via # -r requirements/test.txt # edx-event-bus-kafka -packaging==23.1 +packaging==23.2 # via # -r requirements/test.txt # black @@ -348,7 +353,7 @@ pbr==5.11.1 # stevedore pillow==10.0.1 # via -r requirements/test.txt -platformdirs==3.10.0 +platformdirs==3.11.0 # via # -r requirements/test.txt # black @@ -385,7 +390,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==2.17.6 +pylint==2.17.7 # via # -r requirements/test.txt # edx-lint @@ -449,11 +454,8 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/test.txt - # django # djangorestframework # drf-yasg -pywatchman==1.4.1 ; "linux" in sys_platform - # via -r requirements/dev.in pyyaml==5.4.1 # via # -c requirements/constraints.txt @@ -546,7 +548,7 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -texttable==1.6.7 +texttable==1.7.0 # via docker-compose tomli==2.0.1 # via @@ -582,7 +584,7 @@ uritemplate==4.1.1 # -r requirements/test.txt # coreapi # drf-yasg -urllib3==1.26.16 +urllib3==1.26.17 # via # -c requirements/constraints.txt # -r requirements/test.txt diff --git a/requirements/django.txt b/requirements/django.txt index 62b5cb851..7ac6d4fcc 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==3.2.21 +django==4.2.6 diff --git a/requirements/docs.txt b/requirements/docs.txt index 69045e442..fbee1a23c 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -8,7 +8,7 @@ accessible-pygments==0.0.4 # via pydata-sphinx-theme alabaster==0.7.13 # via sphinx -babel==2.12.1 +babel==2.13.0 # via # pydata-sphinx-theme # sphinx @@ -16,7 +16,7 @@ beautifulsoup4==4.12.2 # via pydata-sphinx-theme certifi==2023.7.22 # via requests -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 # via requests docutils==0.19 # via @@ -34,7 +34,7 @@ jsx-lexer==2.0.1 # via -r requirements/docs.in markupsafe==2.1.3 # via jinja2 -packaging==23.1 +packaging==23.2 # via # pydata-sphinx-theme # sphinx @@ -76,7 +76,7 @@ sphinxcontrib-serializinghtml==1.1.5 # via sphinx typing-extensions==4.8.0 # via pydata-sphinx-theme -urllib3==1.26.16 +urllib3==1.26.17 # via # -c requirements/constraints.txt # requests diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 05d07313e..fed337062 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -10,7 +10,7 @@ click==8.1.7 # via pip-tools importlib-metadata==6.8.0 # via build -packaging==23.1 +packaging==23.2 # via build pip-tools==7.3.0 # via -r requirements/pip_tools.in diff --git a/requirements/production.txt b/requirements/production.txt index 42a75ce83..b143f39a2 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -21,11 +21,15 @@ backoff==1.10.0 # via # -r requirements/base.txt # analytics-python +backports-zoneinfo==0.2.1 + # via + # -r requirements/base.txt + # django bleach==6.0.0 # via -r requirements/base.txt -boto3==1.28.57 +boto3==1.28.61 # via django-ses -botocore==1.31.57 +botocore==1.31.61 # via # boto3 # s3transfer @@ -38,7 +42,7 @@ cffi==1.16.0 # -r requirements/base.txt # cryptography # pynacl -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 # via # -r requirements/base.txt # requests @@ -65,17 +69,15 @@ cryptography==41.0.4 # -r requirements/base.txt # pyjwt # social-auth-core -defusedxml==0.8.0rc1 +defusedxml==0.8.0rc2 # via # -r requirements/base.txt # python3-openid # social-auth-core didkit==0.3.2 # via -r requirements/base.txt -django==3.2.21 +django==4.2.6 # via - # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.txt # django-appconf # django-cors-headers @@ -131,7 +133,7 @@ django-sortedm2m==3.1.1 # via -r requirements/base.txt django-statici18n==2.4.0 # via -r requirements/base.txt -django-storages==1.14 +django-storages==1.14.1 # via -r requirements/base.txt django-waffle==4.0.0 # via @@ -177,7 +179,6 @@ edx-event-bus-kafka==5.5.0 # via -r requirements/base.txt edx-i18n-tools==1.3.0 # via - # -c requirements/constraints.txt # -r requirements/base.txt # edx-credentials-themes edx-opaque-keys[django]==2.5.1 @@ -191,13 +192,13 @@ edx-toggles==5.1.0 # via # -r requirements/base.txt # edx-event-bus-kafka -fastavro==1.8.3 +fastavro==1.8.4 # via # -r requirements/base.txt # openedx-events gevent==23.9.1 # via -r requirements/production.in -greenlet==2.0.2 +greenlet==3.0.0 # via gevent gunicorn==21.2.0 # via -r requirements/production.in @@ -226,6 +227,10 @@ jmespath==1.0.1 # via # boto3 # botocore +lxml==4.9.3 + # via + # -r requirements/base.txt + # edx-i18n-tools markdown==3.4.4 # via -r requirements/base.txt markupsafe==2.1.3 @@ -256,11 +261,11 @@ openapi-codec==1.3.2 # django-rest-swagger openedx-atlas==0.5.0 # via -r requirements/base.txt -openedx-events==8.6.0 +openedx-events==8.9.0 # via # -r requirements/base.txt # edx-event-bus-kafka -packaging==23.1 +packaging==23.2 # via # -r requirements/base.txt # drf-yasg @@ -330,7 +335,6 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/base.txt - # django # django-ses # djangorestframework # drf-yasg @@ -425,7 +429,7 @@ uritemplate==4.1.1 # -r requirements/base.txt # coreapi # drf-yasg -urllib3==1.26.16 +urllib3==1.26.17 # via # -c requirements/constraints.txt # -r requirements/base.txt @@ -443,7 +447,7 @@ zipp==3.17.0 # importlib-metadata zope-event==5.0 # via gevent -zope-interface==6.0 +zope-interface==6.1 # via gevent # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index fa6c60e5a..e332a9912 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -25,6 +25,10 @@ backoff==1.10.0 # via # -r requirements/base.txt # analytics-python +backports-zoneinfo==0.2.1 + # via + # -r requirements/base.txt + # django black==23.9.1 # via -r requirements/test.in bleach==6.0.0 @@ -38,7 +42,7 @@ cffi==1.16.0 # -r requirements/base.txt # cryptography # pynacl -charset-normalizer==3.2.0 +charset-normalizer==3.3.0 # via # -r requirements/base.txt # requests @@ -67,7 +71,7 @@ coreschema==0.0.4 # via # -r requirements/base.txt # coreapi -coverage==7.3.1 +coverage==7.3.2 # via -r requirements/test.in cryptography==41.0.4 # via @@ -76,7 +80,7 @@ cryptography==41.0.4 # social-auth-core ddt==1.6.0 # via -r requirements/test.in -defusedxml==0.8.0rc1 +defusedxml==0.8.0rc2 # via # -r requirements/base.txt # python3-openid @@ -88,8 +92,6 @@ dill==0.3.7 distlib==0.3.7 # via virtualenv # via - # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.txt # django-appconf # django-cors-headers @@ -142,7 +144,7 @@ django-sortedm2m==3.1.1 # via -r requirements/base.txt django-statici18n==2.4.0 # via -r requirements/base.txt -django-storages==1.14 +django-storages==1.14.1 # via -r requirements/base.txt django-waffle==4.0.0 # via @@ -188,7 +190,6 @@ edx-event-bus-kafka==5.5.0 # via -r requirements/base.txt edx-i18n-tools==1.3.0 # via - # -c requirements/constraints.txt # -r requirements/base.txt # edx-credentials-themes edx-lint==5.3.4 @@ -210,7 +211,7 @@ factory-boy==3.3.0 # via -r requirements/test.in faker==19.6.2 # via factory-boy -fastavro==1.8.3 +fastavro==1.8.4 # via # -r requirements/base.txt # openedx-events @@ -249,6 +250,10 @@ jinja2==3.1.2 # coreschema lazy-object-proxy==1.9.0 # via astroid +lxml==4.9.3 + # via + # -r requirements/base.txt + # edx-i18n-tools markdown==3.4.4 # via -r requirements/base.txt markupsafe==2.1.3 @@ -280,11 +285,11 @@ openapi-codec==1.3.2 # django-rest-swagger openedx-atlas==0.5.0 # via -r requirements/base.txt -openedx-events==8.6.0 +openedx-events==8.9.0 # via # -r requirements/base.txt # edx-event-bus-kafka -packaging==23.1 +packaging==23.2 # via # -r requirements/base.txt # black @@ -303,7 +308,7 @@ pbr==5.11.1 # stevedore pillow==10.0.1 # via -r requirements/base.txt -platformdirs==3.10.0 +platformdirs==3.11.0 # via # black # pylint @@ -336,7 +341,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==2.17.6 +pylint==2.17.7 # via # edx-lint # pylint-celery @@ -389,7 +394,6 @@ python3-openid==3.2.0 pytz==2023.3.post1 # via # -r requirements/base.txt - # django # djangorestframework # drf-yasg pyyaml==5.4.1 @@ -506,7 +510,7 @@ uritemplate==4.1.1 # -r requirements/base.txt # coreapi # drf-yasg -urllib3==1.26.16 +urllib3==1.26.17 # via # -c requirements/constraints.txt # -r requirements/base.txt diff --git a/requirements/translations.txt b/requirements/translations.txt index 2c8653d59..b64333930 100644 --- a/requirements/translations.txt +++ b/requirements/translations.txt @@ -6,21 +6,18 @@ # asgiref==3.7.2 # via django -django==3.2.21 - # via - # -c requirements/common_constraints.txt - # -c requirements/constraints.txt - # edx-i18n-tools +backports-zoneinfo==0.2.1 + # via django +django==4.2.6 + # via edx-i18n-tools edx-i18n-tools==1.3.0 - # via - # -c requirements/constraints.txt - # -r requirements/translations.in + # via -r requirements/translations.in +lxml==4.9.3 + # via edx-i18n-tools path==16.7.1 # via edx-i18n-tools polib==1.2.0 # via edx-i18n-tools -pytz==2023.3.post1 - # via django pyyaml==5.4.1 # via # -c requirements/constraints.txt diff --git a/tox.ini b/tox.ini index 01581c462..760922624 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38-django{32,42} +envlist = py38-django{42} skipsdist = true [pytest] @@ -8,8 +8,7 @@ testpaths = credentials/apps [testenv] deps = - django32: -r requirements/django.txt - django42: Django>=4.2,<4.3 + django42: -r requirements/django.txt -r {toxinidir}/requirements/test.txt allowlist_externals: make