From 623b6d9c8db961f8be65f14fd858f2765206dd27 Mon Sep 17 00:00:00 2001 From: Bryann Valderrama <64033729+BryanttV@users.noreply.github.com> Date: Mon, 8 Jul 2024 15:59:30 -0500 Subject: [PATCH] perf: redwood release support `DS-1010` (#273) --- .../add_issues_prs_to_dedalo_project.yml | 2 +- .github/workflows/commitlint.yml | 2 +- .github/workflows/integration-test.yml | 2 +- .github/workflows/pr_issue_assignment.yml | 2 +- .github/workflows/python-publish.yml | 2 +- CHANGELOG.md | 15 ++ Makefile | 2 +- README.rst | 4 +- eox_core/__init__.py | 2 +- eox_core/api/data/v1/routers.py | 15 +- requirements/base.txt | 156 ++++++++------ requirements/constraints.txt | 17 +- requirements/django.txt | 1 - requirements/django42.txt | 2 +- requirements/pip-tools.txt | 25 ++- requirements/test.txt | 190 +++++++++++------- requirements/tox.txt | 18 +- setup.cfg | 2 +- setup.py | 2 + tox.ini | 2 +- 20 files changed, 286 insertions(+), 177 deletions(-) delete mode 100644 requirements/django.txt diff --git a/.github/workflows/add_issues_prs_to_dedalo_project.yml b/.github/workflows/add_issues_prs_to_dedalo_project.yml index baa954fdc..165629393 100644 --- a/.github/workflows/add_issues_prs_to_dedalo_project.yml +++ b/.github/workflows/add_issues_prs_to_dedalo_project.yml @@ -11,7 +11,7 @@ jobs: name: Add to project runs-on: ubuntu-latest steps: - - uses: actions/add-to-project@v0.5.0 + - uses: actions/add-to-project@v1.0.1 with: project-url: https://github.com/orgs/eduNEXT/projects/1 github-token: ${{ secrets.DEDALO_PAT }} diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index ff9fc5905..3d98fd68d 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -8,4 +8,4 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: wagoid/commitlint-github-action@v5 + - uses: wagoid/commitlint-github-action@v6 diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index baa3c4334..404bef326 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - tutor_version: ["<17.0.0", "<18.0.0"] + tutor_version: ["<17.0.0", "<18.0.0", "<19.0.0"] steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/pr_issue_assignment.yml b/.github/workflows/pr_issue_assignment.yml index 9c10320dc..7704d907b 100644 --- a/.github/workflows/pr_issue_assignment.yml +++ b/.github/workflows/pr_issue_assignment.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Auto-assign PR-Issue' - uses: pozil/auto-assign-issue@v1.13.0 + uses: pozil/auto-assign-issue@v2 with: repo-token: ${{ secrets.DEDALO_PAT }} teams: django-plugins-teco diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index a9b7d6e77..b6fbfecd8 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -34,7 +34,7 @@ jobs: run: | python -m build --sdist --wheel --outdir dist/ . - name: Publish package - uses: pypa/gh-action-pypi-publish@v1.8.10 + uses: pypa/gh-action-pypi-publish@v1.9.0 with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 11028dd28..ecb5a7820 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Please do not update the unreleased notes. + +## [v10.5.0](https://github.com/eduNEXT/eox-core/compare/v10.4.0...v10.5.0) - (2024-07-08) + +### Added + +- **Integration Tests**: A new GitHub workflow has been added to run + integration tests. These tests validate backend imports and ensure + the `/eox-info` endpoint functions correctly. + +### Changed + +- **Redwood Support**: Upgrade requirements base on edx-platform redwood + release, update GitHub workflows with new actions version, and update + integration test to use new Redwood release with Tutor. + ## [v10.4.0](https://github.com/eduNEXT/eox-core/compare/v10.3.0...v10.4.0) - 2024-05-24 ### [10.4.0](https://github.com/eduNEXT/eox-core/compare/v10.3.0...v10.4.0) (2024-05-24) diff --git a/Makefile b/Makefile index 13b9768c3..d9d2cb606 100644 --- a/Makefile +++ b/Makefile @@ -58,6 +58,6 @@ upgrade: ## update the requirements/*.txt files with the latest packages satisfy $(PIP_COMPILE) -o requirements/test.txt requirements/test.in $(PIP_COMPILE) -o requirements/tox.txt requirements/tox.in - grep -e "^django==" requirements/test.txt > requirements/django.txt + grep -e "^django==" requirements/test.txt > requirements/django42.txt sed '/^[dD]jango==/d;' requirements/test.txt > requirements/test.tmp mv requirements/test.tmp requirements/test.txt diff --git a/README.rst b/README.rst index 2920c18eb..e0f7ddcb4 100644 --- a/README.rst +++ b/README.rst @@ -54,6 +54,8 @@ Compatibility Notes +------------------+--------------+ | Quince | >= 10.0 | +------------------+--------------+ +| Redwood | >= 10.5.0 | ++------------------+--------------+ **NOTE**: The Maple version does not support Django 2.2 but it does support Django 3.2 as of eox-core 7.0. @@ -92,7 +94,7 @@ not listed, then the accumulation of changes from previous releases is enough. These settings can be changed in ``eox_core/settings/common.py`` or, for example, in ansible configurations. -**NOTE**: the current ``common.py`` works with Open edX Nutmeg version. +**NOTE**: the current ``common.py`` works with Open edX Redwood version. Dependency Management diff --git a/eox_core/__init__.py b/eox_core/__init__.py index 1e89f039a..058fcd835 100644 --- a/eox_core/__init__.py +++ b/eox_core/__init__.py @@ -1,4 +1,4 @@ """ Init for main eox-core app """ -__version__ = '10.4.0' +__version__ = '10.5.0' diff --git a/eox_core/api/data/v1/routers.py b/eox_core/api/data/v1/routers.py index a13844c70..b0a40085e 100644 --- a/eox_core/api/data/v1/routers.py +++ b/eox_core/api/data/v1/routers.py @@ -1,6 +1,7 @@ """ -TODO: add me +Routers for the API views. """ + from rest_framework import routers from .viewsets import ( @@ -12,9 +13,11 @@ ) ROUTER = routers.DefaultRouter() -ROUTER.register(r'users', UsersViewSet) -ROUTER.register(r'course-enrollments', CourseEnrollmentViewset) -ROUTER.register(r'certificates', CertificateViewSet, basename='generated_certificate') -ROUTER.register(r'proctored-exams-attempts', ProctoredExamStudentViewSet) +ROUTER.register(r"users", UsersViewSet, basename="users") +ROUTER.register(r"course-enrollments", CourseEnrollmentViewset, basename="course-enrollments") +ROUTER.register(r"certificates", CertificateViewSet, basename="generated_certificate") +ROUTER.register(r"proctored-exams-attempts", ProctoredExamStudentViewSet, basename="proctored_exams_attempts") # Async operations -ROUTER.register(r'async/course-enrollments-grades', CourseEnrollmentWithGradesViewset) +ROUTER.register( + r"async/course-enrollments-grades", CourseEnrollmentWithGradesViewset, basename="async_course-enrollments-grades" +) diff --git a/requirements/base.txt b/requirements/base.txt index 399599df8..03a79cc59 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.8 # by the following command: # # make upgrade @@ -8,17 +8,24 @@ amqp==5.2.0 # via kombu appdirs==1.4.4 # via fs -asgiref==3.7.2 +asgiref==3.8.1 # via django attrs==23.2.0 # via openedx-events +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # celery + # django + # djangorestframework + # kombu billiard==4.2.0 # via celery -celery==5.3.6 +celery==5.4.0 # via # -r requirements/base.in # event-tracking -certifi==2023.11.17 +certifi==2024.7.4 # via requests cffi==1.16.0 # via @@ -28,20 +35,22 @@ charset-normalizer==3.3.2 # via requests click==8.1.7 # via - # -c requirements/constraints.txt # -r requirements/base.in # celery # click-didyoumean # click-plugins # click-repl + # code-annotations # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via celery click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -cryptography==42.0.1 +code-annotations==1.8.0 + # via edx-toggles +cryptography==42.0.8 # via # jwcrypto # pyjwt @@ -50,11 +59,9 @@ defusedxml==0.8.0rc2 # via # python3-openid # social-auth-core -deprecated==1.2.14 - # via jwcrypto -django==4.2.9 +django==4.2.13 # via - # -c requirements/constraints.txt + # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in # django-crum # django-filter @@ -68,6 +75,7 @@ django==4.2.9 # edx-django-utils # edx-drf-extensions # edx-proctoring + # edx-toggles # edx-when # event-tracking # jsonfield @@ -76,11 +84,14 @@ django-crum==0.7.9 # via # edx-django-utils # edx-proctoring + # edx-toggles django-filter==23.5 - # via -r requirements/base.in -django-ipware==6.0.3 + # via + # -c requirements/constraints.txt + # -r requirements/base.in +django-ipware==7.0.1 # via edx-proctoring -django-model-utils==4.3.1 +django-model-utils==4.5.1 # via # edx-proctoring # edx-when @@ -90,18 +101,22 @@ django-oauth-toolkit==1.7.1 # -r requirements/base.in django-oauth2-provider==0.2.6.1 # via -r requirements/base.in -django-simple-history==3.4.0 - # via edx-proctoring +django-simple-history==3.0.0 + # via + # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # edx-proctoring django-waffle==4.1.0 # via # -r requirements/base.in # edx-django-utils # edx-drf-extensions # edx-proctoring -django-webpack-loader==3.0.1 + # edx-toggles +django-webpack-loader==3.1.0 # via edx-proctoring -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via + # -c requirements/constraints.txt # -r requirements/base.in # drf-jwt # drf-yasg @@ -112,76 +127,86 @@ drf-jwt==1.19.2 # via edx-drf-extensions drf-yasg==1.21.7 # via edx-api-doc-tools -edx-api-doc-tools==1.7.0 +edx-api-doc-tools==1.8.0 # via -r requirements/base.in -edx-django-utils==5.10.1 +edx-ccx-keys==1.3.0 + # via openedx-events +edx-django-utils==5.14.2 # via # edx-drf-extensions # edx-rest-api-client + # edx-toggles # edx-when # event-tracking -edx-drf-extensions==8.13.1 + # openedx-events +edx-drf-extensions==10.3.0 # via - # -c requirements/constraints.txt # -r requirements/base.in # edx-proctoring # edx-when -edx-opaque-keys[django]==2.5.1 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/base.in + # edx-ccx-keys # edx-drf-extensions - # edx-opaque-keys # edx-proctoring # edx-when # openedx-events -edx-proctoring==4.16.1 +edx-proctoring==4.18.1 # via -r requirements/base.in -edx-rest-api-client==5.6.1 +edx-rest-api-client==5.7.1 # via edx-proctoring -edx-when==2.4.0 +edx-toggles==5.2.0 + # via event-tracking +edx-when==2.5.0 # via edx-proctoring -event-tracking==2.2.0 +event-tracking==2.4.0 # via edx-proctoring -fastavro==1.9.3 +fastavro==1.9.4 # via openedx-events fs==2.4.16 # via xblock -idna==3.6 +idna==3.7 # via requests inflection==0.5.1 # via drf-yasg +jinja2==3.1.4 + # via code-annotations jsonfield==3.1.0 # via edx-proctoring -jwcrypto==1.5.1 +jwcrypto==1.5.6 # via django-oauth-toolkit -kombu==5.3.5 +kombu==5.3.7 # via celery -lxml==5.1.0 +lxml==5.2.2 # via xblock -mako==1.3.0 +mako==1.3.5 # via xblock -markupsafe==2.1.4 +markupsafe==2.1.5 # via + # jinja2 # mako # xblock -newrelic==9.6.0 +newrelic==9.11.0 # via edx-django-utils oauthlib==3.2.2 # via # django-oauth-toolkit # requests-oauthlib # social-auth-core -openedx-events==9.3.0 - # via -r requirements/base.in -packaging==23.2 +openedx-events==9.11.0 + # via + # -r requirements/base.in + # event-tracking +packaging==24.1 # via drf-yasg pbr==6.0.0 # via stevedore -prompt-toolkit==3.0.43 +prompt-toolkit==3.0.47 # via click-repl -psutil==5.9.8 +psutil==6.0.0 # via edx-django-utils -pycparser==2.21 +pycparser==2.22 # via cffi pycryptodomex==3.20.0 # via edx-proctoring @@ -191,7 +216,6 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-proctoring # edx-rest-api-client - # pyjwt # social-auth-core pymongo==3.13.0 # via @@ -199,27 +223,29 @@ pymongo==3.13.0 # event-tracking pynacl==1.5.0 # via edx-django-utils -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # celery # edx-proctoring # xblock -python-ipware==2.0.1 +python-ipware==3.0.0 # via django-ipware +python-slugify==8.0.4 + # via code-annotations python3-openid==3.2.0 # via social-auth-core -pytz==2023.4 +pytz==2024.1 # via - # djangorestframework # drf-yasg # edx-proctoring # event-tracking # xblock pyyaml==6.0.1 # via + # code-annotations # drf-yasg # xblock -requests==2.31.0 +requests==2.32.3 # via # django-oauth-toolkit # edx-drf-extensions @@ -227,41 +253,49 @@ requests==2.31.0 # requests-oauthlib # slumber # social-auth-core -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via social-auth-core -rules==3.3 +rules==3.4 # via edx-proctoring semantic-version==2.10.0 # via edx-drf-extensions -shortuuid==1.0.11 +shortuuid==1.0.13 # via django-oauth2-provider simplejson==3.19.2 # via xblock six==1.16.0 # via # -r requirements/base.in + # edx-ccx-keys # event-tracking # fs # python-dateutil slumber==0.7.1 # via edx-rest-api-client -social-auth-core==4.5.2 +social-auth-core==4.5.4 # via -r requirements/base.in -sqlparse==0.4.4 +sqlparse==0.5.0 # via django -stevedore==5.1.0 +stevedore==5.2.0 # via + # code-annotations # edx-django-utils # edx-opaque-keys -typing-extensions==4.9.0 +text-unidecode==1.3 + # via python-slugify +typing-extensions==4.12.2 # via # asgiref # edx-opaque-keys -tzdata==2023.4 - # via celery + # jwcrypto + # kombu +tzdata==2024.1 + # via + # backports-zoneinfo + # celery uritemplate==4.1.1 # via drf-yasg -urllib3==2.1.0 +urllib3==2.2.2 # via requests vine==5.1.0 # via @@ -270,13 +304,11 @@ vine==5.1.0 # kombu wcwidth==0.2.13 # via prompt-toolkit -web-fragments==2.1.0 +web-fragments==2.2.0 # via xblock webob==1.8.7 # via xblock -wrapt==1.16.0 - # via deprecated -xblock==1.10.0 +xblock==4.0.1 # via edx-when # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/constraints.txt b/requirements/constraints.txt index d41622e63..382c2ce14 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -8,10 +8,21 @@ # pin when possible. Writing an issue against the offending project and # linking to it here is good. +# Common constraints for Open edX repos +-c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # Keep same platform version pylint<3.0 pycodestyle<2.9.0 -django<5.0 -click<9.0 django-oauth-toolkit<2.0.0 -edx-drf-extensions<9.0 \ No newline at end of file + +# Adding pin to avoid any major upgrade. +# 3.15.1 is the latest version that works with Django 3.2 +djangorestframework<3.15.2 + +# Adding pin to avoid any major upgrade. +# 23.5. is the latest version that works with Django 3.2 +django-filter<24.1 + +# backports.zoneinfo is only needed for Python < 3.9 +backports.zoneinfo; python_version<'3.9' diff --git a/requirements/django.txt b/requirements/django.txt deleted file mode 100644 index d296127a5..000000000 --- a/requirements/django.txt +++ /dev/null @@ -1 +0,0 @@ -django==3.2.23 diff --git a/requirements/django42.txt b/requirements/django42.txt index 5ecb3ea76..87c017cd9 100644 --- a/requirements/django42.txt +++ b/requirements/django42.txt @@ -1 +1 @@ -Django==4.2.8 \ No newline at end of file +Django==4.2.13 diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index d00745138..69e02c906 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,28 +1,33 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.8 # by the following command: # # make upgrade # -build==1.0.3 +build==1.2.1 # via pip-tools click==8.1.7 + # via pip-tools +importlib-metadata==6.11.0 # via - # -c requirements/constraints.txt - # pip-tools -packaging==23.2 + # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt + # build +packaging==24.1 # via build -pip-tools==7.3.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in -pyproject-hooks==1.0.0 - # via build +pyproject-hooks==1.1.0 + # via + # build + # pip-tools tomli==2.0.1 # via # build # pip-tools - # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools +zipp==3.19.2 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/test.txt b/requirements/test.txt index 08366eccb..9897e68f5 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.8 # by the following command: # # make upgrade @@ -12,7 +12,7 @@ appdirs==1.4.4 # via # -r requirements/base.txt # fs -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django @@ -23,15 +23,23 @@ attrs==23.2.0 # via # -r requirements/base.txt # openedx-events +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # celery + # django + # djangorestframework + # kombu billiard==4.2.0 # via # -r requirements/base.txt # celery -celery==5.3.6 +celery==5.4.0 # via # -r requirements/base.txt # event-tracking -certifi==2023.11.17 +certifi==2024.7.4 # via # -r requirements/base.txt # requests @@ -46,14 +54,14 @@ charset-normalizer==3.3.2 # requests click==8.1.7 # via - # -c requirements/constraints.txt # -r requirements/base.txt # celery # click-didyoumean # click-plugins # click-repl + # code-annotations # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/base.txt # celery @@ -65,9 +73,13 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -coverage==7.4.1 +code-annotations==1.8.0 + # via + # -r requirements/base.txt + # edx-toggles +coverage==7.5.4 # via -r requirements/test.in -cryptography==42.0.1 +cryptography==42.0.8 # via # -r requirements/base.txt # jwcrypto @@ -78,14 +90,10 @@ defusedxml==0.8.0rc2 # -r requirements/base.txt # python3-openid # social-auth-core -deprecated==1.2.14 - # via - # -r requirements/base.txt - # jwcrypto dill==0.3.8 # via pylint # via - # -c requirements/constraints.txt + # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt # django-crum # django-filter @@ -99,24 +107,28 @@ dill==0.3.8 # edx-django-utils # edx-drf-extensions # edx-proctoring + # edx-toggles # edx-when # event-tracking # jsonfield # openedx-events -django-countries==7.5.1 +django-countries==7.6.1 # via -r requirements/test.in django-crum==0.7.9 # via # -r requirements/base.txt # edx-django-utils # edx-proctoring + # edx-toggles django-filter==23.5 - # via -r requirements/base.txt -django-ipware==6.0.3 + # via + # -c requirements/constraints.txt + # -r requirements/base.txt +django-ipware==7.0.1 # via # -r requirements/base.txt # edx-proctoring -django-model-utils==4.3.1 +django-model-utils==4.5.1 # via # -r requirements/base.txt # edx-proctoring @@ -127,8 +139,9 @@ django-oauth-toolkit==1.7.1 # -r requirements/base.txt django-oauth2-provider==0.2.6.1 # via -r requirements/base.txt -django-simple-history==3.4.0 +django-simple-history==3.0.0 # via + # -c https://raw.githubusercontent.com/openedx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt # edx-proctoring django-waffle==4.1.0 @@ -137,12 +150,14 @@ django-waffle==4.1.0 # edx-django-utils # edx-drf-extensions # edx-proctoring -django-webpack-loader==3.0.1 + # edx-toggles +django-webpack-loader==3.1.0 # via # -r requirements/base.txt # edx-proctoring -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via + # -c requirements/constraints.txt # -r requirements/base.txt # drf-jwt # drf-yasg @@ -157,50 +172,59 @@ drf-yasg==1.21.7 # via # -r requirements/base.txt # edx-api-doc-tools -edx-api-doc-tools==1.7.0 +edx-api-doc-tools==1.8.0 # via -r requirements/base.txt -edx-django-utils==5.10.1 +edx-ccx-keys==1.3.0 + # via + # -r requirements/base.txt + # openedx-events +edx-django-utils==5.14.2 # via # -r requirements/base.txt # edx-drf-extensions # edx-rest-api-client + # edx-toggles # edx-when # event-tracking -edx-drf-extensions==8.13.1 + # openedx-events +edx-drf-extensions==10.3.0 # via - # -c requirements/constraints.txt # -r requirements/base.txt # edx-proctoring # edx-when -edx-opaque-keys[django]==2.5.1 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/base.txt + # edx-ccx-keys # edx-drf-extensions - # edx-opaque-keys # edx-proctoring # edx-when # openedx-events -edx-proctoring==4.16.1 +edx-proctoring==4.18.1 # via -r requirements/base.txt -edx-rest-api-client==5.6.1 +edx-rest-api-client==5.7.1 # via # -r requirements/base.txt # edx-proctoring -edx-when==2.4.0 +edx-toggles==5.2.0 + # via + # -r requirements/base.txt + # event-tracking +edx-when==2.5.0 # via # -r requirements/base.txt # edx-proctoring -event-tracking==2.2.0 +event-tracking==2.4.0 # via # -r requirements/base.txt # edx-proctoring -exceptiongroup==1.2.0 +exceptiongroup==1.2.1 # via pytest factory-boy==3.3.0 # via -r requirements/test.in -faker==22.6.0 +faker==26.0.0 # via factory-boy -fastavro==1.9.3 +fastavro==1.9.4 # via # -r requirements/base.txt # openedx-events @@ -208,7 +232,7 @@ fs==2.4.16 # via # -r requirements/base.txt # xblock -idna==3.6 +idna==3.7 # via # -r requirements/base.txt # requests @@ -220,38 +244,43 @@ iniconfig==2.0.0 # via pytest isort==5.13.2 # via pylint +jinja2==3.1.4 + # via + # -r requirements/base.txt + # code-annotations jsonfield==3.1.0 # via # -r requirements/base.txt # edx-proctoring -jwcrypto==1.5.1 +jwcrypto==1.5.6 # via # -r requirements/base.txt # django-oauth-toolkit -kombu==5.3.5 +kombu==5.3.7 # via # -r requirements/base.txt # celery lazy-object-proxy==1.10.0 # via astroid -lxml==5.1.0 +lxml==5.2.2 # via # -r requirements/base.txt # xblock -mako==1.3.0 +mako==1.3.5 # via # -r requirements/base.txt # xblock -markupsafe==2.1.4 +markupsafe==2.1.5 # via # -r requirements/base.txt + # jinja2 # mako # xblock mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/test.in -newrelic==9.6.0 +newrelic==9.11.0 # via # -r requirements/base.txt # edx-django-utils @@ -261,9 +290,11 @@ oauthlib==3.2.2 # django-oauth-toolkit # requests-oauthlib # social-auth-core -openedx-events==9.3.0 - # via -r requirements/base.txt -packaging==23.2 +openedx-events==9.11.0 + # via + # -r requirements/base.txt + # event-tracking +packaging==24.1 # via # -r requirements/base.txt # drf-yasg @@ -272,15 +303,15 @@ pbr==6.0.0 # via # -r requirements/base.txt # stevedore -platformdirs==4.1.0 +platformdirs==4.2.2 # via pylint -pluggy==1.4.0 +pluggy==1.5.0 # via pytest -prompt-toolkit==3.0.43 +prompt-toolkit==3.0.47 # via # -r requirements/base.txt # click-repl -psutil==5.9.8 +psutil==6.0.0 # via # -r requirements/base.txt # edx-django-utils @@ -288,7 +319,7 @@ pycodestyle==2.8.0 # via # -c requirements/constraints.txt # -r requirements/test.in -pycparser==2.21 +pycparser==2.22 # via # -r requirements/base.txt # cffi @@ -303,7 +334,6 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-proctoring # edx-rest-api-client - # pyjwt # social-auth-core pylint==2.17.7 # via @@ -314,37 +344,38 @@ pymongo==3.13.0 # -r requirements/base.txt # edx-opaque-keys # event-tracking -pyyaml==6.0.1 - # via -r requirements/test.in pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pytest==8.0.0 +pytest==8.2.2 # via # -r requirements/test.in # pytest-django -pytest-django==4.7.0 +pytest-django==4.8.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # celery # edx-proctoring # faker # xblock -python-ipware==2.0.1 +python-ipware==3.0.0 # via # -r requirements/base.txt # django-ipware +python-slugify==8.0.4 + # via + # -r requirements/base.txt + # code-annotations python3-openid==3.2.0 # via # -r requirements/base.txt # social-auth-core -pytz==2023.4 +pytz==2024.1 # via # -r requirements/base.txt - # djangorestframework # drf-yasg # edx-proctoring # event-tracking @@ -352,9 +383,11 @@ pytz==2023.4 pyyaml==6.0.1 # via # -r requirements/base.txt + # -r requirements/test.in + # code-annotations # drf-yasg # xblock -requests==2.31.0 +requests==2.32.3 # via # -r requirements/base.txt # django-oauth-toolkit @@ -363,11 +396,11 @@ requests==2.31.0 # requests-oauthlib # slumber # social-auth-core -requests-oauthlib==1.3.1 +requests-oauthlib==2.0.0 # via # -r requirements/base.txt # social-auth-core -rules==3.3 +rules==3.4 # via # -r requirements/base.txt # edx-proctoring @@ -375,7 +408,7 @@ semantic-version==2.10.0 # via # -r requirements/base.txt # edx-drf-extensions -shortuuid==1.0.11 +shortuuid==1.0.13 # via # -r requirements/base.txt # django-oauth2-provider @@ -386,6 +419,7 @@ simplejson==3.19.2 six==1.16.0 # via # -r requirements/base.txt + # edx-ccx-keys # event-tracking # fs # python-dateutil @@ -393,41 +427,50 @@ slumber==0.7.1 # via # -r requirements/base.txt # edx-rest-api-client -social-auth-core==4.5.2 +social-auth-core==4.5.4 # via -r requirements/base.txt -sqlparse==0.4.4 +sqlparse==0.5.0 # via # -r requirements/base.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/base.txt + # code-annotations # edx-django-utils # edx-opaque-keys -testfixtures==7.2.2 +testfixtures==8.3.0 # via -r requirements/test.in +text-unidecode==1.3 + # via + # -r requirements/base.txt + # python-slugify tomli==2.0.1 # via # pylint # pytest -tomlkit==0.12.3 +tomlkit==0.12.5 # via pylint -typing-extensions==4.9.0 +typing-extensions==4.12.2 # via # -r requirements/base.txt # asgiref # astroid # django-countries # edx-opaque-keys -tzdata==2023.4 + # jwcrypto + # kombu + # pylint +tzdata==2024.1 # via # -r requirements/base.txt + # backports-zoneinfo # celery uritemplate==4.1.1 # via # -r requirements/base.txt # drf-yasg -urllib3==2.1.0 +urllib3==2.2.2 # via # -r requirements/base.txt # requests @@ -441,7 +484,7 @@ wcwidth==0.2.13 # via # -r requirements/base.txt # prompt-toolkit -web-fragments==2.1.0 +web-fragments==2.2.0 # via # -r requirements/base.txt # xblock @@ -450,11 +493,8 @@ webob==1.8.7 # -r requirements/base.txt # xblock wrapt==1.16.0 - # via - # -r requirements/base.txt - # astroid - # deprecated -xblock==1.10.0 + # via astroid +xblock==4.0.1 # via # -r requirements/base.txt # edx-when diff --git a/requirements/tox.txt b/requirements/tox.txt index 6c8c60a51..2b3ff9acd 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -1,10 +1,10 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.8 # by the following command: # # make upgrade # -cachetools==5.3.2 +cachetools==5.3.3 # via tox chardet==5.2.0 # via tox @@ -12,27 +12,27 @@ colorama==0.4.6 # via tox distlib==0.3.8 # via virtualenv -filelock==3.13.1 +filelock==3.15.4 # via # tox # virtualenv -packaging==23.2 +packaging==24.1 # via # pyproject-api # tox -platformdirs==4.1.0 +platformdirs==4.2.2 # via # tox # virtualenv -pluggy==1.4.0 +pluggy==1.5.0 # via tox -pyproject-api==1.6.1 +pyproject-api==1.7.1 # via tox tomli==2.0.1 # via # pyproject-api # tox -tox==4.12.1 +tox==4.16.0 # via -r requirements/tox.in -virtualenv==20.25.0 +virtualenv==20.26.3 # via tox diff --git a/setup.cfg b/setup.cfg index c5287fd75..0506398ec 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 10.4.0 +current_version = 10.5.0 commit = False tag = False diff --git a/setup.py b/setup.py index b220ea05f..c05b8b430 100644 --- a/setup.py +++ b/setup.py @@ -64,11 +64,13 @@ def is_requirement(line): classifiers=[ 'Development Status :: 5 - Production/Stable', 'Framework :: Django :: 3.2', + 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU Affero General Public License v3', 'Operating System :: OS Independent', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', ], install_requires=load_requirements('requirements/base.in'), extras_require={ diff --git a/tox.ini b/tox.ini index 7b1dca8c4..7deb4239e 100644 --- a/tox.ini +++ b/tox.ini @@ -12,6 +12,6 @@ envdir= deps = django32: -r requirements/django32.txt django42: -r requirements/django42.txt - -rrequirements/test.txt + -r requirements/test.txt commands = {posargs}