From 169da40b08d8ac0ada9218c54d7bbad01ea0b105 Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Tue, 25 Jun 2024 15:15:19 +0500 Subject: [PATCH 1/2] feat!: python 3.12 upgrade --- .github/workflows/ci.yml | 4 +-- .github/workflows/mysql8-migrations.yml | 2 +- .../workflows/upgrade-python-requirements.yml | 2 +- Dockerfile | 29 ++++++++++++++++--- requirements/base.txt | 7 +---- requirements/ci.txt | 2 +- requirements/constraints.txt | 7 +++++ requirements/dev.txt | 7 +---- requirements/doc.txt | 29 ++++++++----------- requirements/pip.txt | 2 +- requirements/pip_tools.txt | 2 +- requirements/production.txt | 7 +---- requirements/test.txt | 7 +---- requirements/tox.txt | 2 +- tox.ini | 2 +- 15 files changed, 57 insertions(+), 54 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b548116..612f0f5d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: os: - ubuntu-20.04 python-version: - - 3.8 + - 3.12 targets: [ 'quality','main.test','docs' ] steps: @@ -40,7 +40,7 @@ jobs: && export TOXENV=django42 && make test.requirements tox.requirements ${{ matrix.targets }}" - name: Run Coverage - if: matrix.python-version == '3.8' && matrix.targets=='main.test' + if: matrix.python-version == '3.12' && matrix.targets=='main.test' uses: codecov/codecov-action@v1 with: fail_ci_if_error: true diff --git a/.github/workflows/mysql8-migrations.yml b/.github/workflows/mysql8-migrations.yml index 4ca91459..7f97be06 100644 --- a/.github/workflows/mysql8-migrations.yml +++ b/.github/workflows/mysql8-migrations.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ ubuntu-20.04 ] - python-version: [ 3.8 ] + python-version: [ 3.12 ] steps: - name: Checkout repo diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index 8b797093..e2653c80 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -15,12 +15,12 @@ jobs: uses: openedx/.github/.github/workflows/upgrade-python-requirements.yml@master with: branch: ${{ github.event.inputs.branch || 'master' }} - python_version: "3.8" # optional parameters below; fill in if you'd like github or email notifications # user_reviewers: "" # team_reviewers: "" email_address: "cosmonauts-requirements-update@2u-internal.opsgenie.net" send_success_notification: true + python_version: 3.12 secrets: requirements_bot_github_token: ${{ secrets.REQUIREMENTS_BOT_GITHUB_TOKEN }} requirements_bot_github_email: ${{ secrets.REQUIREMENTS_BOT_GITHUB_EMAIL }} diff --git a/Dockerfile b/Dockerfile index 71026f2a..1ebb8880 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,17 @@ FROM ubuntu:focal as base # System requirements. +# ENV variables for Python 3.12 support +ARG PYTHON_VERSION=3.12 +ENV TZ=UTC +ENV TERM=xterm-256color +ENV DEBIAN_FRONTEND=noninteractive + +# software-properties-common is needed to setup Python 3.12 env +RUN apt-get update && \ + apt-get install -y software-properties-common && \ + apt-add-repository -y ppa:deadsnakes/ppa + # pkg-config; mysqlclient>=2.2.0 requires pkg-config (https://github.com/PyMySQL/mysqlclient/issues/620) RUN apt update && \ @@ -10,14 +21,24 @@ RUN apt update && \ vim \ language-pack-en \ build-essential \ - python3.8-dev \ - python3-virtualenv \ - python3.8-distutils \ + libffi-dev \ + libsqlite3-dev \ + python3-pip \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-dev \ + python${PYTHON_VERSION}-distutils \ libmysqlclient-dev \ pkg-config \ libssl-dev && \ rm -rf /var/lib/apt/lists/* +# Set Zoneinfo settings for Python 3.12 support +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# need to use virtualenv pypi package with Python 3.12 +RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python${PYTHON_VERSION} +RUN pip install virtualenv + # Use UTF-8. RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 @@ -39,7 +60,7 @@ ENV ANALYTICS_API_CFG "/edx/etc/${ANALYTICS_API_SERVICE_NAME}.yml" # Working directory will be root of repo. WORKDIR ${ANALYTICS_API_CODE_DIR} -RUN virtualenv -p python3.8 --always-copy ${ANALYTICS_API_VENV_DIR} +RUN virtualenv -p python${PYTHON_VERSION} --always-copy ${ANALYTICS_API_VENV_DIR} # Expose canonical Analytics port EXPOSE 19001 diff --git a/requirements/base.txt b/requirements/base.txt index 2a744a27..ed8b8549 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -9,10 +9,6 @@ asgiref==3.8.1 # django # django-cors-headers # django-countries -backports-zoneinfo==0.2.1 - # via - # django - # djangorestframework boto==2.49.0 # via -r requirements/base.in boto3==1.35.8 @@ -234,7 +230,6 @@ tqdm==4.66.5 # via -r requirements/base.in typing-extensions==4.12.2 # via - # asgiref # django-countries # edx-opaque-keys tzdata==2024.1 diff --git a/requirements/ci.txt b/requirements/ci.txt index c52b940f..9ab7f504 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 829e5a87..6679fd5f 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -27,3 +27,10 @@ pylint-django==2.0.11 # botocore 1.34.144 depends on urllib3<1.27 and >=1.25.4; python_version < "3.10" urllib3<2.0.0 + +# path>16.14.0 has removed the deprecated abspath function, which is breaking the docs build +path<16.15.0 + +# pip==24.2 is breaking with latest pip-tools version +# can be removed once pip-tools with compatibility is out +pip<24.2 diff --git a/requirements/dev.txt b/requirements/dev.txt index 01561887..04ff4a87 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -9,10 +9,6 @@ asgiref==3.8.1 # django # django-cors-headers # django-countries -backports-zoneinfo==0.2.1 - # via - # django - # djangorestframework boto==2.49.0 # via -r requirements/base.in boto3==1.35.8 @@ -236,7 +232,6 @@ tqdm==4.66.5 # via -r requirements/base.in typing-extensions==4.12.2 # via - # asgiref # django-countries # edx-opaque-keys tzdata==2024.1 diff --git a/requirements/doc.txt b/requirements/doc.txt index ffa237f9..cf8f3801 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -1,12 +1,12 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -accessible-pygments==0.0.4 +accessible-pygments==0.0.5 # via pydata-sphinx-theme -alabaster==0.7.13 +alabaster==1.0.0 # via sphinx asgiref==3.8.1 # via @@ -17,10 +17,6 @@ babel==2.16.0 # via # pydata-sphinx-theme # sphinx -backports-zoneinfo==0.2.1 - # via - # django - # djangorestframework beautifulsoup4==4.12.3 # via pydata-sphinx-theme boto==2.49.0 @@ -107,7 +103,7 @@ djangorestframework-csv==3.0.2 # edx-enterprise-data dnspython==2.6.1 # via pymongo -docutils==0.19 +docutils==0.21.2 # via # pydata-sphinx-theme # sphinx @@ -201,7 +197,7 @@ psutil==6.0.0 # via edx-django-utils pycparser==2.22 # via cffi -pydata-sphinx-theme==0.14.4 +pydata-sphinx-theme==0.15.4 # via sphinx-book-theme pygments==2.18.0 # via @@ -262,24 +258,24 @@ snowballstemmer==2.2.0 # via sphinx soupsieve==2.6 # via beautifulsoup4 -sphinx==6.2.1 +sphinx==8.0.0 # via # -r requirements/doc.in # pydata-sphinx-theme # sphinx-book-theme -sphinx-book-theme==1.0.1 +sphinx-book-theme==1.1.3 # via -r requirements/doc.in -sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-applehelp==2.0.0 # via sphinx -sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-devhelp==2.0.0 # via sphinx -sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-htmlhelp==2.1.0 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-qthelp==2.0.0 # via sphinx -sphinxcontrib-serializinghtml==1.1.5 +sphinxcontrib-serializinghtml==2.0.0 # via sphinx sqlparse==0.5.1 # via django @@ -291,7 +287,6 @@ tqdm==4.66.5 # via -r requirements/base.in typing-extensions==4.12.2 # via - # asgiref # django-countries # edx-opaque-keys # pydata-sphinx-theme diff --git a/requirements/pip.txt b/requirements/pip.txt index f3fa6b47..2b6ac804 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile --allow-unsafe --output-file=requirements/pip.txt requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 290fd324..a785d639 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade diff --git a/requirements/production.txt b/requirements/production.txt index 99f67a33..d6f30a04 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -9,10 +9,6 @@ asgiref==3.8.1 # django # django-cors-headers # django-countries -backports-zoneinfo==0.2.1 - # via - # django - # djangorestframework boto==2.49.0 # via -r requirements/base.in boto3==1.35.8 @@ -249,7 +245,6 @@ tqdm==4.66.5 # via -r requirements/base.in typing-extensions==4.12.2 # via - # asgiref # django-countries # edx-opaque-keys tzdata==2024.1 diff --git a/requirements/test.txt b/requirements/test.txt index 42bcb999..6c128edc 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -11,10 +11,6 @@ asgiref==3.8.1 # django-countries astroid==2.3.3 # via pylint -backports-zoneinfo==0.2.1 - # via - # django - # djangorestframework boto==2.49.0 # via -r requirements/base.in boto3==1.35.8 @@ -298,7 +294,6 @@ tqdm==4.66.5 # via -r requirements/base.in typing-extensions==4.12.2 # via - # asgiref # django-countries # edx-opaque-keys tzdata==2024.1 diff --git a/requirements/tox.txt b/requirements/tox.txt index 71ceb495..7f8a6932 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade diff --git a/tox.ini b/tox.ini index d188d1d4..fc024728 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] skipsdist = True -envlist = py38-django{42} +envlist = py312-django{42} [testenv] passenv = From 4c01fab864609ca43b582ae4c15622512cba8aca Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Mon, 9 Sep 2024 20:37:20 +0500 Subject: [PATCH 2/2] feat!: Python 3.11 Upgrade --- .github/workflows/ci.yml | 4 +- .github/workflows/mysql8-migrations.yml | 2 +- .../workflows/upgrade-python-requirements.yml | 2 +- Dockerfile | 11 ++--- requirements/base.txt | 38 ++++++--------- requirements/ci.txt | 2 +- requirements/constraints.txt | 7 --- requirements/dev.txt | 36 ++++++-------- requirements/django.txt | 2 +- requirements/doc.txt | 47 ++++++++----------- requirements/pip.txt | 4 +- requirements/pip_tools.txt | 12 +---- requirements/production.txt | 36 ++++++-------- requirements/test.txt | 44 ++++++----------- requirements/tox.txt | 14 ++---- tox.ini | 2 +- 16 files changed, 97 insertions(+), 166 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 612f0f5d..7d607151 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: os: - ubuntu-20.04 python-version: - - 3.12 + - 3.11 targets: [ 'quality','main.test','docs' ] steps: @@ -40,7 +40,7 @@ jobs: && export TOXENV=django42 && make test.requirements tox.requirements ${{ matrix.targets }}" - name: Run Coverage - if: matrix.python-version == '3.12' && matrix.targets=='main.test' + if: matrix.python-version == '3.11' && matrix.targets=='main.test' uses: codecov/codecov-action@v1 with: fail_ci_if_error: true diff --git a/.github/workflows/mysql8-migrations.yml b/.github/workflows/mysql8-migrations.yml index 7f97be06..d8f78c3f 100644 --- a/.github/workflows/mysql8-migrations.yml +++ b/.github/workflows/mysql8-migrations.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ ubuntu-20.04 ] - python-version: [ 3.12 ] + python-version: [ 3.11 ] steps: - name: Checkout repo diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index e2653c80..33356bd6 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -20,7 +20,7 @@ jobs: # team_reviewers: "" email_address: "cosmonauts-requirements-update@2u-internal.opsgenie.net" send_success_notification: true - python_version: 3.12 + python_version: 3.11 secrets: requirements_bot_github_token: ${{ secrets.REQUIREMENTS_BOT_GITHUB_TOKEN }} requirements_bot_github_email: ${{ secrets.REQUIREMENTS_BOT_GITHUB_EMAIL }} diff --git a/Dockerfile b/Dockerfile index 1ebb8880..7f87c9c1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,8 @@ FROM ubuntu:focal as base # System requirements. -# ENV variables for Python 3.12 support -ARG PYTHON_VERSION=3.12 +# ENV variables for Python 3.11 support +ARG PYTHON_VERSION=3.11 ENV TZ=UTC ENV TERM=xterm-256color ENV DEBIAN_FRONTEND=noninteractive @@ -15,8 +15,8 @@ RUN apt-get update && \ # pkg-config; mysqlclient>=2.2.0 requires pkg-config (https://github.com/PyMySQL/mysqlclient/issues/620) -RUN apt update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -qy \ +RUN apt-get update && \ + apt-get install -qy \ curl \ vim \ language-pack-en \ @@ -32,9 +32,6 @@ RUN apt update && \ libssl-dev && \ rm -rf /var/lib/apt/lists/* -# Set Zoneinfo settings for Python 3.12 support -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone - # need to use virtualenv pypi package with Python 3.12 RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python${PYTHON_VERSION} RUN pip install virtualenv diff --git a/requirements/base.txt b/requirements/base.txt index ed8b8549..39ac3520 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -11,15 +11,15 @@ asgiref==3.8.1 # django-countries boto==2.49.0 # via -r requirements/base.in -boto3==1.35.8 +boto3==1.35.14 # via -r requirements/base.in -botocore==1.35.8 +botocore==1.35.14 # via # boto3 # s3transfer -certifi==2024.7.4 +certifi==2024.8.30 # via requests -cffi==1.17.0 +cffi==1.17.1 # via # cryptography # pynacl @@ -31,11 +31,11 @@ coreapi==2.3.3 # via -r requirements/base.in coreschema==0.0.4 # via coreapi -cryptography==43.0.0 +cryptography==43.0.1 # via # django-fernet-fields-v2 # pyjwt -django==4.2.15 +django==4.2.16 # via # -c requirements/constraints.txt # -r requirements/base.in @@ -67,7 +67,7 @@ django-fernet-fields-v2==0.9 # via edx-enterprise-data django-filter==24.3 # via edx-enterprise-data -django-model-utils==4.5.1 +django-model-utils==5.0.0 # via # edx-enterprise-data # edx-rbac @@ -109,14 +109,14 @@ edx-django-utils==5.15.0 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.4.0 # via # -r requirements/base.in # edx-enterprise-data # edx-rbac -edx-enterprise-data==8.11.0 +edx-enterprise-data==8.11.1 # via -r requirements/base.in -edx-opaque-keys==2.10.0 +edx-opaque-keys==2.11.0 # via # -r requirements/base.in # edx-ccx-keys @@ -124,20 +124,18 @@ edx-opaque-keys==2.10.0 # edx-enterprise-data edx-rbac==1.10.0 # via edx-enterprise-data -edx-rest-api-client==5.7.1 +edx-rest-api-client==6.0.0 # via # -r requirements/base.in # edx-enterprise-data factory-boy==3.3.1 # via edx-enterprise-data -faker==28.0.0 +faker==28.4.1 # via factory-boy html5lib==1.1 # via -r requirements/base.in idna==3.8 # via requests -importlib-metadata==8.4.0 - # via markdown inflection==0.5.1 # via drf-yasg itypes==1.2.0 @@ -204,8 +202,7 @@ requests==2.32.3 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client - # slumber -rules==3.4 +rules==3.5 # via edx-enterprise-data s3transfer==0.10.2 # via boto3 @@ -218,8 +215,6 @@ six==1.16.0 # edx-rbac # html5lib # python-dateutil -slumber==0.7.1 - # via edx-rest-api-client sqlparse==0.5.1 # via django stevedore==5.3.0 @@ -238,16 +233,13 @@ uritemplate==4.1.1 # via # coreapi # drf-yasg -urllib3==1.26.19 +urllib3==2.2.2 # via - # -c requirements/constraints.txt # -r requirements/base.in # botocore # requests webencodings==0.5.1 # via html5lib -zipp==3.20.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/ci.txt b/requirements/ci.txt index 9ab7f504..1f4abdbc 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 6679fd5f..590cb9c2 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -25,12 +25,5 @@ elasticsearch-dsl>=7.2.1,<8.0.0 pylint==2.4.4 pylint-django==2.0.11 -# botocore 1.34.144 depends on urllib3<1.27 and >=1.25.4; python_version < "3.10" -urllib3<2.0.0 - # path>16.14.0 has removed the deprecated abspath function, which is breaking the docs build path<16.15.0 - -# pip==24.2 is breaking with latest pip-tools version -# can be removed once pip-tools with compatibility is out -pip<24.2 diff --git a/requirements/dev.txt b/requirements/dev.txt index 04ff4a87..1e5c753d 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -11,15 +11,15 @@ asgiref==3.8.1 # django-countries boto==2.49.0 # via -r requirements/base.in -boto3==1.35.8 +boto3==1.35.14 # via -r requirements/base.in -botocore==1.35.8 +botocore==1.35.14 # via # boto3 # s3transfer -certifi==2024.7.4 +certifi==2024.8.30 # via requests -cffi==1.17.0 +cffi==1.17.1 # via # cryptography # pynacl @@ -31,11 +31,11 @@ coreapi==2.3.3 # via -r requirements/base.in coreschema==0.0.4 # via coreapi -cryptography==43.0.0 +cryptography==43.0.1 # via # django-fernet-fields-v2 # pyjwt -django==4.2.15 +django==4.2.16 # via # -c requirements/constraints.txt # -r requirements/base.in @@ -67,7 +67,7 @@ django-fernet-fields-v2==0.9 # via edx-enterprise-data django-filter==24.3 # via edx-enterprise-data -django-model-utils==4.5.1 +django-model-utils==5.0.0 # via # edx-enterprise-data # edx-rbac @@ -109,14 +109,14 @@ edx-django-utils==5.15.0 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.4.0 # via # -r requirements/base.in # edx-enterprise-data # edx-rbac edx-enterprise-data==8.11.1 # via -r requirements/base.in -edx-opaque-keys==2.10.0 +edx-opaque-keys==2.11.0 # via # -r requirements/base.in # edx-ccx-keys @@ -124,20 +124,18 @@ edx-opaque-keys==2.10.0 # edx-enterprise-data edx-rbac==1.10.0 # via edx-enterprise-data -edx-rest-api-client==5.7.1 +edx-rest-api-client==6.0.0 # via # -r requirements/base.in # edx-enterprise-data factory-boy==3.3.1 # via edx-enterprise-data -faker==28.0.0 +faker==28.4.1 # via factory-boy html5lib==1.1 # via -r requirements/base.in idna==3.8 # via requests -importlib-metadata==8.4.0 - # via markdown inflection==0.5.1 # via drf-yasg itypes==1.2.0 @@ -206,8 +204,7 @@ requests==2.32.3 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client - # slumber -rules==3.4 +rules==3.5 # via edx-enterprise-data s3transfer==0.10.2 # via boto3 @@ -220,8 +217,6 @@ six==1.16.0 # edx-rbac # html5lib # python-dateutil -slumber==0.7.1 - # via edx-rest-api-client sqlparse==0.5.1 # via django stevedore==5.3.0 @@ -240,16 +235,13 @@ uritemplate==4.1.1 # via # coreapi # drf-yasg -urllib3==1.26.19 +urllib3==2.2.2 # via - # -c requirements/constraints.txt # -r requirements/base.in # botocore # requests webencodings==0.5.1 # via html5lib -zipp==3.20.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/django.txt b/requirements/django.txt index 16bc98be..64aaf996 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==4.2.15 +django==4.2.16 diff --git a/requirements/doc.txt b/requirements/doc.txt index cf8f3801..d0207ad5 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -21,15 +21,15 @@ beautifulsoup4==4.12.3 # via pydata-sphinx-theme boto==2.49.0 # via -r requirements/base.in -boto3==1.35.8 +boto3==1.35.14 # via -r requirements/base.in -botocore==1.35.8 +botocore==1.35.14 # via # boto3 # s3transfer -certifi==2024.7.4 +certifi==2024.8.30 # via requests -cffi==1.17.0 +cffi==1.17.1 # via # cryptography # pynacl @@ -41,11 +41,11 @@ coreapi==2.3.3 # via -r requirements/base.in coreschema==0.0.4 # via coreapi -cryptography==43.0.0 +cryptography==43.0.1 # via # django-fernet-fields-v2 # pyjwt -django==4.2.15 +django==4.2.16 # via # -c requirements/constraints.txt # -r requirements/base.in @@ -77,7 +77,7 @@ django-fernet-fields-v2==0.9 # via edx-enterprise-data django-filter==24.3 # via edx-enterprise-data -django-model-utils==4.5.1 +django-model-utils==5.0.0 # via # edx-enterprise-data # edx-rbac @@ -123,14 +123,14 @@ edx-django-utils==5.15.0 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.4.0 # via # -r requirements/base.in # edx-enterprise-data # edx-rbac edx-enterprise-data==8.11.1 # via -r requirements/base.in -edx-opaque-keys==2.10.0 +edx-opaque-keys==2.11.0 # via # -r requirements/base.in # edx-ccx-keys @@ -138,13 +138,13 @@ edx-opaque-keys==2.10.0 # edx-enterprise-data edx-rbac==1.10.0 # via edx-enterprise-data -edx-rest-api-client==5.7.1 +edx-rest-api-client==6.0.0 # via # -r requirements/base.in # edx-enterprise-data factory-boy==3.3.1 # via edx-enterprise-data -faker==28.0.0 +faker==28.4.1 # via factory-boy html5lib==1.1 # via -r requirements/base.in @@ -152,10 +152,6 @@ idna==3.8 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==8.4.0 - # via - # markdown - # sphinx inflection==0.5.1 # via drf-yasg itypes==1.2.0 @@ -189,8 +185,10 @@ packaging==24.1 # sphinx pandas==2.0.3 # via edx-enterprise-data -path==17.0.0 - # via -r requirements/doc.in +path==16.14.0 + # via + # -c requirements/constraints.txt + # -r requirements/doc.in pbr==6.1.0 # via stevedore psutil==6.0.0 @@ -224,7 +222,6 @@ python-memcached==1.62 # via -r requirements/base.in pytz==2024.1 # via - # babel # drf-yasg # pandas pyyaml==6.0.2 @@ -237,9 +234,8 @@ requests==2.32.3 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client - # slumber # sphinx -rules==3.4 +rules==3.5 # via edx-enterprise-data s3transfer==0.10.2 # via boto3 @@ -252,13 +248,11 @@ six==1.16.0 # edx-rbac # html5lib # python-dateutil -slumber==0.7.1 - # via edx-rest-api-client snowballstemmer==2.2.0 # via sphinx soupsieve==2.6 # via beautifulsoup4 -sphinx==8.0.0 +sphinx==8.0.2 # via # -r requirements/doc.in # pydata-sphinx-theme @@ -296,16 +290,13 @@ uritemplate==4.1.1 # via # coreapi # drf-yasg -urllib3==1.26.19 +urllib3==2.2.2 # via - # -c requirements/constraints.txt # -r requirements/base.in # botocore # requests webencodings==0.5.1 # via html5lib -zipp==3.20.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/pip.txt b/requirements/pip.txt index 2b6ac804..fd3267b5 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # pip-compile --allow-unsafe --output-file=requirements/pip.txt requirements/pip.in @@ -10,5 +10,5 @@ wheel==0.44.0 # The following packages are considered to be unsafe in a requirements file: pip==24.2 # via -r requirements/pip.in -setuptools==74.0.0 +setuptools==74.1.2 # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index a785d639..479354ad 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -1,15 +1,13 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -build==1.2.1 +build==1.2.2 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==8.4.0 - # via build packaging==24.1 # via build pip-tools==7.4.1 @@ -20,14 +18,8 @@ pyproject-hooks==1.1.0 # pip-tools six==1.16.0 # via -r requirements/pip_tools.in -tomli==2.0.1 - # via - # build - # pip-tools wheel==0.44.0 # via pip-tools -zipp==3.20.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/production.txt b/requirements/production.txt index d6f30a04..bb63979f 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -11,15 +11,15 @@ asgiref==3.8.1 # django-countries boto==2.49.0 # via -r requirements/base.in -boto3==1.35.8 +boto3==1.35.14 # via -r requirements/base.in -botocore==1.35.8 +botocore==1.35.14 # via # boto3 # s3transfer -certifi==2024.7.4 +certifi==2024.8.30 # via requests -cffi==1.17.0 +cffi==1.17.1 # via # cryptography # pynacl @@ -31,11 +31,11 @@ coreapi==2.3.3 # via -r requirements/base.in coreschema==0.0.4 # via coreapi -cryptography==43.0.0 +cryptography==43.0.1 # via # django-fernet-fields-v2 # pyjwt -django==4.2.15 +django==4.2.16 # via # -c requirements/constraints.txt # -r requirements/base.in @@ -67,7 +67,7 @@ django-fernet-fields-v2==0.9 # via edx-enterprise-data django-filter==24.3 # via edx-enterprise-data -django-model-utils==4.5.1 +django-model-utils==5.0.0 # via # edx-enterprise-data # edx-rbac @@ -109,14 +109,14 @@ edx-django-utils==5.15.0 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.4.0 # via # -r requirements/base.in # edx-enterprise-data # edx-rbac edx-enterprise-data==8.11.1 # via -r requirements/base.in -edx-opaque-keys==2.10.0 +edx-opaque-keys==2.11.0 # via # -r requirements/base.in # edx-ccx-keys @@ -124,13 +124,13 @@ edx-opaque-keys==2.10.0 # edx-enterprise-data edx-rbac==1.10.0 # via edx-enterprise-data -edx-rest-api-client==5.7.1 +edx-rest-api-client==6.0.0 # via # -r requirements/base.in # edx-enterprise-data factory-boy==3.3.1 # via edx-enterprise-data -faker==28.0.0 +faker==28.4.1 # via factory-boy gevent==24.2.1 # via -r requirements/production.in @@ -142,8 +142,6 @@ html5lib==1.1 # via -r requirements/base.in idna==3.8 # via requests -importlib-metadata==8.4.0 - # via markdown inflection==0.5.1 # via drf-yasg itypes==1.2.0 @@ -219,8 +217,7 @@ requests==2.32.3 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client - # slumber -rules==3.4 +rules==3.5 # via edx-enterprise-data s3transfer==0.10.2 # via boto3 @@ -233,8 +230,6 @@ six==1.16.0 # edx-rbac # html5lib # python-dateutil -slumber==0.7.1 - # via edx-rest-api-client sqlparse==0.5.1 # via django stevedore==5.3.0 @@ -253,16 +248,13 @@ uritemplate==4.1.1 # via # coreapi # drf-yasg -urllib3==1.26.19 +urllib3==2.2.2 # via - # -c requirements/constraints.txt # -r requirements/base.in # botocore # requests webencodings==0.5.1 # via html5lib -zipp==3.20.1 - # via importlib-metadata zope-event==5.0 # via gevent zope-interface==7.0.3 diff --git a/requirements/test.txt b/requirements/test.txt index 6c128edc..a91754bb 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -13,15 +13,15 @@ astroid==2.3.3 # via pylint boto==2.49.0 # via -r requirements/base.in -boto3==1.35.8 +boto3==1.35.14 # via -r requirements/base.in -botocore==1.35.8 +botocore==1.35.14 # via # boto3 # s3transfer -certifi==2024.7.4 +certifi==2024.8.30 # via requests -cffi==1.17.0 +cffi==1.17.1 # via # cryptography # pynacl @@ -39,13 +39,13 @@ coverage[toml]==7.6.1 # via # -r requirements/test.in # pytest-cov -cryptography==43.0.0 +cryptography==43.0.1 # via # django-fernet-fields-v2 # pyjwt ddt==1.7.2 # via -r requirements/test.in -diff-cover==9.1.1 +diff-cover==9.2.0 # via -r requirements/test.in # via # -c requirements/constraints.txt @@ -80,7 +80,7 @@ django-fernet-fields-v2==0.9 # via edx-enterprise-data django-filter==24.3 # via edx-enterprise-data -django-model-utils==4.5.1 +django-model-utils==5.0.0 # via # edx-enterprise-data # edx-rbac @@ -122,14 +122,14 @@ edx-django-utils==5.15.0 # edx-drf-extensions # edx-enterprise-data # edx-rest-api-client -edx-drf-extensions==10.3.0 +edx-drf-extensions==10.4.0 # via # -r requirements/base.in # edx-enterprise-data # edx-rbac edx-enterprise-data==8.11.1 # via -r requirements/base.in -edx-opaque-keys==2.10.0 +edx-opaque-keys==2.11.0 # via # -r requirements/base.in # edx-ccx-keys @@ -137,15 +137,13 @@ edx-opaque-keys==2.10.0 # edx-enterprise-data edx-rbac==1.10.0 # via edx-enterprise-data -edx-rest-api-client==5.7.1 +edx-rest-api-client==6.0.0 # via # -r requirements/base.in # edx-enterprise-data -exceptiongroup==1.2.2 - # via pytest factory-boy==3.3.1 # via edx-enterprise-data -faker==28.0.0 +faker==28.4.1 # via factory-boy freezegun==1.5.1 # via -r requirements/test.in @@ -153,8 +151,6 @@ html5lib==1.1 # via -r requirements/base.in idna==3.8 # via requests -importlib-metadata==8.4.0 - # via markdown inflection==0.5.1 # via drf-yasg iniconfig==2.0.0 @@ -232,7 +228,7 @@ pytest==8.3.2 # pytest-django pytest-cov==5.0.0 # via -r requirements/test.in -pytest-django==4.8.0 +pytest-django==4.9.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via @@ -259,10 +255,9 @@ requests==2.32.3 # edx-enterprise-data # edx-rest-api-client # responses - # slumber responses==0.25.3 # via -r requirements/test.in -rules==3.4 +rules==3.5 # via edx-enterprise-data s3transfer==0.10.2 # via boto3 @@ -276,8 +271,6 @@ six==1.16.0 # edx-rbac # html5lib # python-dateutil -slumber==0.7.1 - # via edx-rest-api-client snowballstemmer==2.2.0 # via pydocstyle sqlparse==0.5.1 @@ -286,10 +279,6 @@ stevedore==5.3.0 # via # edx-django-utils # edx-opaque-keys -tomli==2.0.1 - # via - # coverage - # pytest tqdm==4.66.5 # via -r requirements/base.in typing-extensions==4.12.2 @@ -302,9 +291,8 @@ uritemplate==4.1.1 # via # coreapi # drf-yasg -urllib3==1.26.19 +urllib3==2.2.2 # via - # -c requirements/constraints.txt # -r requirements/base.in # botocore # requests @@ -313,8 +301,6 @@ webencodings==0.5.1 # via html5lib wrapt==1.11.2 # via astroid -zipp==3.20.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/tox.txt b/requirements/tox.txt index 7f8a6932..c6769e27 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.12 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -12,7 +12,7 @@ colorama==0.4.6 # via tox distlib==0.3.8 # via virtualenv -filelock==3.15.4 +filelock==3.16.0 # via # tox # virtualenv @@ -20,7 +20,7 @@ packaging==24.1 # via # pyproject-api # tox -platformdirs==4.2.2 +platformdirs==4.3.2 # via # tox # virtualenv @@ -28,11 +28,7 @@ pluggy==1.5.0 # via tox pyproject-api==1.7.1 # via tox -tomli==2.0.1 - # via - # pyproject-api - # tox -tox==4.18.0 +tox==4.18.1 # via -r requirements/tox.in -virtualenv==20.26.3 +virtualenv==20.26.4 # via tox diff --git a/tox.ini b/tox.ini index fc024728..7296da4e 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] skipsdist = True -envlist = py312-django{42} +envlist = py311-django{42} [testenv] passenv =