From eeab72fe660639fb49c51260d80a17f6c08809fe Mon Sep 17 00:00:00 2001 From: Hamzah Ullah Date: Tue, 21 May 2024 14:07:33 -0400 Subject: [PATCH] feat!: Python 3.12 upgrade (#473) * feat: Upgrade python312 CI * build: update Dockerfile * feat: Upgrade packages using python 3.12 --------- Co-authored-by: Usama Sadiq --- .github/workflows/ci.yml | 2 +- .../workflows/upgrade-python-requirements.yml | 2 +- Dockerfile | 34 +++++-- requirements/base.txt | 32 ++----- requirements/dev.txt | 77 +++------------- requirements/doc.txt | 89 +++++-------------- requirements/pip-tools.txt | 12 +-- requirements/pip.txt | 4 +- requirements/production.txt | 35 +------- requirements/quality.txt | 74 +++------------ requirements/test.txt | 57 ++---------- requirements/validation.txt | 78 +++------------- tox.ini | 2 +- 13 files changed, 111 insertions(+), 387 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75f6701c..96751fb3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.12"] + python-version: ["3.12"] django-version: ["pinned"] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index 4ab3ee98..e0e3665c 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - python-version: ["3.8"] + python-version: ["3.12"] steps: - name: setup target branch diff --git a/Dockerfile b/Dockerfile index 604e7b66..2eed4a9a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,28 +27,48 @@ MAINTAINER sre@edx.org # gcc; for compiling python extensions distributed with python packages like mysql-client +# 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 + # If you add a package here please include a comment above describing what it is used for RUN apt-get update && apt-get -qy install --no-install-recommends \ + build-essential \ language-pack-en \ locales \ - python3.8 \ - python3-pip \ - python3.8-venv \ - python3.8-dev \ pkg-config \ libmysqlclient-dev \ libssl-dev \ - build-essential \ git \ - wget + wget \ + curl \ + libffi-dev \ + libsqlite3-dev \ + python3-pip \ + python${PYTHON_VERSION} \ + python${PYTHON_VERSION}-dev \ + python${PYTHON_VERSION}-distutils + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN pip install --upgrade pip setuptools # delete apt package lists because we do not need them inflating our image RUN rm -rf /var/lib/apt/lists/* +# 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 + # Create a virtualenv for sanity ENV VIRTUAL_ENV=/edx/venvs/enterprise-access -RUN python3.8 -m venv $VIRTUAL_ENV +RUN virtualenv -p python${PYTHON_VERSION} $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" WORKDIR /tmp diff --git a/requirements/base.txt b/requirements/base.txt index 8edae15b..0583d132 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 @@ -13,8 +13,6 @@ asgiref==3.8.1 # django # django-cors-headers # django-simple-history -async-timeout==4.0.3 - # via redis attrs==23.2.0 # via # jsonschema @@ -22,12 +20,6 @@ attrs==23.2.0 # referencing backoff==1.10.0 # via analytics-python -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # celery - # django - # kombu billiard==4.2.0 # via celery celery==5.4.0 @@ -206,10 +198,6 @@ fastavro==1.9.4 # openedx-events idna==3.7 # via requests -importlib-resources==6.4.0 - # via - # jsonschema - # jsonschema-specifications inflection==0.5.1 # via # drf-spectacular @@ -236,7 +224,7 @@ monotonic==1.6 # via analytics-python mysqlclient==2.2.4 # via -r requirements/base.in -newrelic==9.9.0 +newrelic==9.9.1 # via edx-django-utils oauthlib==3.2.2 # via @@ -252,8 +240,6 @@ packaging==24.0 # via drf-yasg pbr==6.0.0 # via stevedore -pkgutil-resolve-name==1.3.10 - # via jsonschema ply==3.11 # via djangoql prompt-toolkit==3.0.43 @@ -317,7 +303,7 @@ rpds-py==0.18.1 # via # jsonschema # referencing -rules==3.3 +rules==3.4 # via -r requirements/base.in semantic-version==2.10.0 # via edx-drf-extensions @@ -349,15 +335,9 @@ stevedore==5.2.0 text-unidecode==1.3 # via python-slugify typing-extensions==4.11.0 - # via - # asgiref - # drf-spectacular - # edx-opaque-keys - # kombu + # via edx-opaque-keys tzdata==2024.1 - # via - # backports-zoneinfo - # celery + # via celery uritemplate==4.1.1 # via # coreapi @@ -372,8 +352,6 @@ vine==5.1.0 # kombu wcwidth==0.2.13 # via prompt-toolkit -zipp==3.18.1 - # via importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/dev.txt b/requirements/dev.txt index 2b5a37e5..1f92fc83 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 @@ -16,15 +16,11 @@ asgiref==3.8.1 # django # django-cors-headers # django-simple-history -astroid==3.1.0 +astroid==3.2.2 # via # -r requirements/validation.txt # pylint # pylint-celery -async-timeout==4.0.3 - # via - # -r requirements/validation.txt - # redis attrs==23.2.0 # via # -r requirements/validation.txt @@ -35,16 +31,6 @@ backoff==1.10.0 # via # -r requirements/validation.txt # analytics-python -backports-tarfile==1.1.1 - # via - # -r requirements/validation.txt - # jaraco-context -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -r requirements/validation.txt - # celery - # django - # kombu billiard==4.2.0 # via # -r requirements/validation.txt @@ -241,7 +227,7 @@ dnspython==2.6.1 # via # -r requirements/validation.txt # pymongo -docutils==0.20.1 +docutils==0.21.2 # via # -r requirements/validation.txt # readme-renderer @@ -305,13 +291,9 @@ edx-toggles==5.2.0 # via # -r requirements/validation.txt # edx-event-bus-kafka -exceptiongroup==1.2.1 - # via - # -r requirements/validation.txt - # pytest factory-boy==3.3.0 # via -r requirements/validation.txt -faker==25.1.0 +faker==25.2.0 # via # -r requirements/validation.txt # factory-boy @@ -332,17 +314,8 @@ idna==3.7 # requests importlib-metadata==6.11.0 # via - # -r requirements/pip-tools.txt # -r requirements/validation.txt - # build - # keyring # twine -importlib-resources==6.4.0 - # via - # -r requirements/validation.txt - # jsonschema - # jsonschema-specifications - # keyring inflection==0.5.1 # via # -r requirements/validation.txt @@ -397,7 +370,7 @@ jsonschema-specifications==2023.12.1 # via # -r requirements/validation.txt # jsonschema -keyring==25.2.0 +keyring==25.2.1 # via # -r requirements/validation.txt # twine @@ -438,7 +411,7 @@ more-itertools==10.2.0 # jaraco-functools mysqlclient==2.2.4 # via -r requirements/validation.txt -newrelic==9.9.0 +newrelic==9.9.1 # via # -r requirements/validation.txt # edx-django-utils @@ -480,11 +453,7 @@ pkginfo==1.10.0 # via # -r requirements/validation.txt # twine -pkgutil-resolve-name==1.3.10 - # via - # -r requirements/validation.txt - # jsonschema -platformdirs==4.2.1 +platformdirs==4.2.2 # via # -r requirements/validation.txt # pylint @@ -532,7 +501,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.1.1 +pylint==3.2.2 # via # -r requirements/validation.txt # edx-lint @@ -571,7 +540,7 @@ pyproject-hooks==1.1.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.2.0 +pytest==8.2.1 # via # -r requirements/validation.txt # pytest-cov @@ -652,7 +621,7 @@ rpds-py==0.18.1 # -r requirements/validation.txt # jsonschema # referencing -rules==3.3 +rules==3.4 # via -r requirements/validation.txt secretstorage==3.3.3 # via @@ -708,39 +677,21 @@ text-unidecode==1.3 # via # -r requirements/validation.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/pip-tools.txt - # -r requirements/validation.txt - # build - # coverage - # pip-tools - # pylint - # pyproject-api - # pytest - # tox tomlkit==0.12.5 # via # -r requirements/validation.txt # pylint tox==4.15.0 # via -r requirements/validation.txt -twine==5.0.0 +twine==5.1.0 # via -r requirements/validation.txt typing-extensions==4.11.0 # via # -r requirements/validation.txt - # asgiref - # astroid - # drf-spectacular # edx-opaque-keys - # kombu - # pylint - # rich tzdata==2024.1 # via # -r requirements/validation.txt - # backports-zoneinfo # celery uritemplate==4.1.1 # via @@ -759,7 +710,7 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.26.1 +virtualenv==20.26.2 # via # -r requirements/validation.txt # tox @@ -771,12 +722,10 @@ wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.18.1 +zipp==3.18.2 # via - # -r requirements/pip-tools.txt # -r requirements/validation.txt # importlib-metadata - # importlib-resources # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/doc.txt b/requirements/doc.txt index a19f427e..4d165d30 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==0.7.16 # via sphinx amqp==5.2.0 # via @@ -20,15 +20,11 @@ asgiref==3.8.1 # django # django-cors-headers # django-simple-history -astroid==3.1.0 +astroid==3.2.2 # via # -r requirements/test.txt # pylint # pylint-celery -async-timeout==4.0.3 - # via - # -r requirements/test.txt - # redis attrs==23.2.0 # via # -r requirements/test.txt @@ -43,13 +39,6 @@ backoff==1.10.0 # via # -r requirements/test.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/test.txt - # celery - # django - # kombu beautifulsoup4==4.12.3 # via pydata-sphinx-theme billiard==4.2.0 @@ -238,7 +227,7 @@ dnspython==2.6.1 # pymongo doc8==1.1.1 # via -r requirements/doc.in -docutils==0.19 +docutils==0.20.1 # via # doc8 # pydata-sphinx-theme @@ -303,13 +292,9 @@ edx-toggles==5.2.0 # via # -r requirements/test.txt # edx-event-bus-kafka -exceptiongroup==1.2.1 - # via - # -r requirements/test.txt - # pytest factory-boy==3.3.0 # via -r requirements/test.txt -faker==25.1.0 +faker==25.2.0 # via # -r requirements/test.txt # factory-boy @@ -330,15 +315,6 @@ idna==3.7 # requests imagesize==1.4.1 # via sphinx -importlib-metadata==6.11.0 - # via - # -c requirements/common_constraints.txt - # sphinx -importlib-resources==6.4.0 - # via - # -r requirements/test.txt - # jsonschema - # jsonschema-specifications inflection==0.5.1 # via # -r requirements/test.txt @@ -394,7 +370,7 @@ monotonic==1.6 # analytics-python mysqlclient==2.2.4 # via -r requirements/test.txt -newrelic==9.9.0 +newrelic==9.9.1 # via # -r requirements/test.txt # edx-django-utils @@ -426,11 +402,7 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkgutil-resolve-name==1.3.10 - # via - # -r requirements/test.txt - # jsonschema -platformdirs==4.2.1 +platformdirs==4.2.2 # via # -r requirements/test.txt # pylint @@ -457,7 +429,7 @@ pycparser==2.22 # via # -r requirements/test.txt # cffi -pydata-sphinx-theme==0.14.4 +pydata-sphinx-theme==0.15.2 # via sphinx-book-theme pygments==2.18.0 # via @@ -475,7 +447,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.1.1 +pylint==3.2.2 # via # -r requirements/test.txt # edx-lint @@ -509,7 +481,7 @@ pyproject-api==1.6.1 # via # -r requirements/test.txt # tox -pytest==8.2.0 +pytest==8.2.1 # via # -r requirements/test.txt # pytest-cov @@ -536,7 +508,6 @@ python3-openid==3.2.0 pytz==2024.1 # via # -r requirements/test.txt - # babel # djangorestframework # drf-yasg pyyaml==6.0.1 @@ -577,7 +548,7 @@ rpds-py==0.18.1 # -r requirements/test.txt # jsonschema # referencing -rules==3.3 +rules==3.4 # via -r requirements/test.txt semantic-version==2.10.0 # via @@ -614,24 +585,24 @@ social-auth-core==4.5.4 # social-auth-app-django soupsieve==2.5 # via beautifulsoup4 -sphinx==6.2.1 +sphinx==7.3.7 # via # -r requirements/doc.in # pydata-sphinx-theme # sphinx-book-theme -sphinx-book-theme==1.0.1 +sphinx-book-theme==1.1.2 # via -r requirements/doc.in -sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-applehelp==1.0.8 # via sphinx -sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-devhelp==1.0.6 # via sphinx -sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-htmlhelp==2.0.5 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-qthelp==1.0.7 # via sphinx -sphinxcontrib-serializinghtml==1.1.5 +sphinxcontrib-serializinghtml==1.1.10 # via sphinx sqlparse==0.5.0 # via @@ -648,15 +619,6 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # coverage - # doc8 - # pylint - # pyproject-api - # pytest - # tox tomlkit==0.12.5 # via # -r requirements/test.txt @@ -666,17 +628,11 @@ tox==4.15.0 typing-extensions==4.11.0 # via # -r requirements/test.txt - # asgiref - # astroid - # drf-spectacular # edx-opaque-keys - # kombu # pydata-sphinx-theme - # pylint tzdata==2024.1 # via # -r requirements/test.txt - # backports-zoneinfo # celery uritemplate==4.1.1 # via @@ -694,7 +650,7 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.26.1 +virtualenv==20.26.2 # via # -r requirements/test.txt # tox @@ -702,11 +658,6 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -zipp==3.18.1 - # via - # -r requirements/test.txt - # importlib-metadata - # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 1b67baa1..0adf54ba 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 @@ -8,10 +8,6 @@ build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==6.11.0 - # via - # -c requirements/common_constraints.txt - # build packaging==24.0 # via build pip-tools==7.4.1 @@ -20,14 +16,8 @@ pyproject-hooks==1.1.0 # via # build # pip-tools -tomli==2.0.1 - # via - # build - # pip-tools wheel==0.43.0 # via pip-tools -zipp==3.18.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/pip.txt b/requirements/pip.txt index e3ffcc7b..99dc6f30 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: # # make upgrade @@ -10,5 +10,5 @@ wheel==0.43.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.5.1 +setuptools==70.0.0 # via -r requirements/pip.in diff --git a/requirements/production.txt b/requirements/production.txt index 6462e47a..0a9d58fa 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 @@ -16,10 +16,6 @@ asgiref==3.8.1 # django # django-cors-headers # django-simple-history -async-timeout==4.0.3 - # via - # -r requirements/base.txt - # redis attrs==23.2.0 # via # -r requirements/base.txt @@ -30,12 +26,6 @@ backoff==1.10.0 # via # -r requirements/base.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -r requirements/base.txt - # celery - # django - # kombu billiard==4.2.0 # via # -r requirements/base.txt @@ -253,11 +243,6 @@ idna==3.7 # via # -r requirements/base.txt # requests -importlib-resources==6.4.0 - # via - # -r requirements/base.txt - # jsonschema - # jsonschema-specifications inflection==0.5.1 # via # -r requirements/base.txt @@ -302,7 +287,7 @@ mysqlclient==2.2.4 # via # -r requirements/base.txt # -r requirements/production.in -newrelic==9.9.0 +newrelic==9.9.1 # via # -r requirements/base.txt # edx-django-utils @@ -328,10 +313,6 @@ pbr==6.0.0 # via # -r requirements/base.txt # stevedore -pkgutil-resolve-name==1.3.10 - # via - # -r requirements/base.txt - # jsonschema ply==3.11 # via # -r requirements/base.txt @@ -422,7 +403,7 @@ rpds-py==0.18.1 # -r requirements/base.txt # jsonschema # referencing -rules==3.3 +rules==3.4 # via -r requirements/base.txt semantic-version==2.10.0 # via @@ -471,14 +452,10 @@ text-unidecode==1.3 typing-extensions==4.11.0 # via # -r requirements/base.txt - # asgiref - # drf-spectacular # edx-opaque-keys - # kombu tzdata==2024.1 # via # -r requirements/base.txt - # backports-zoneinfo # celery uritemplate==4.1.1 # via @@ -500,13 +477,9 @@ wcwidth==0.2.13 # via # -r requirements/base.txt # prompt-toolkit -zipp==3.18.1 - # via - # -r requirements/base.txt - # importlib-resources zope-event==5.0 # via gevent -zope-interface==6.3 +zope-interface==6.4 # via gevent # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/quality.txt b/requirements/quality.txt index 13010194..a0263e71 100644 --- a/requirements/quality.txt +++ b/requirements/quality.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 @@ -16,15 +16,11 @@ asgiref==3.8.1 # django # django-cors-headers # django-simple-history -astroid==3.1.0 +astroid==3.2.2 # via # -r requirements/test.txt # pylint # pylint-celery -async-timeout==4.0.3 - # via - # -r requirements/test.txt - # redis attrs==23.2.0 # via # -r requirements/test.txt @@ -35,15 +31,6 @@ backoff==1.10.0 # via # -r requirements/test.txt # analytics-python -backports-tarfile==1.1.1 - # via jaraco-context -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/test.txt - # celery - # django - # kombu billiard==4.2.0 # via # -r requirements/test.txt @@ -229,7 +216,7 @@ dnspython==2.6.1 # via # -r requirements/test.txt # pymongo -docutils==0.20.1 +docutils==0.21.2 # via readme-renderer drf-jwt==1.19.2 # via @@ -291,13 +278,9 @@ edx-toggles==5.2.0 # via # -r requirements/test.txt # edx-event-bus-kafka -exceptiongroup==1.2.1 - # via - # -r requirements/test.txt - # pytest factory-boy==3.3.0 # via -r requirements/test.txt -faker==25.1.0 +faker==25.2.0 # via # -r requirements/test.txt # factory-boy @@ -319,14 +302,7 @@ idna==3.7 importlib-metadata==6.11.0 # via # -c requirements/common_constraints.txt - # keyring # twine -importlib-resources==6.4.0 - # via - # -r requirements/test.txt - # jsonschema - # jsonschema-specifications - # keyring inflection==0.5.1 # via # -r requirements/test.txt @@ -374,7 +350,7 @@ jsonschema-specifications==2023.12.1 # via # -r requirements/test.txt # jsonschema -keyring==25.2.0 +keyring==25.2.1 # via twine kombu==5.3.7 # via @@ -402,7 +378,7 @@ more-itertools==10.2.0 # jaraco-functools mysqlclient==2.2.4 # via -r requirements/test.txt -newrelic==9.9.0 +newrelic==9.9.1 # via # -r requirements/test.txt # edx-django-utils @@ -434,11 +410,7 @@ pbr==6.0.0 # stevedore pkginfo==1.10.0 # via twine -pkgutil-resolve-name==1.3.10 - # via - # -r requirements/test.txt - # jsonschema -platformdirs==4.2.1 +platformdirs==4.2.2 # via # -r requirements/test.txt # pylint @@ -482,7 +454,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.1.1 +pylint==3.2.2 # via # -r requirements/test.txt # edx-lint @@ -516,7 +488,7 @@ pyproject-api==1.6.1 # via # -r requirements/test.txt # tox -pytest==8.2.0 +pytest==8.2.1 # via # -r requirements/test.txt # pytest-cov @@ -588,7 +560,7 @@ rpds-py==0.18.1 # -r requirements/test.txt # jsonschema # referencing -rules==3.3 +rules==3.4 # via -r requirements/test.txt secretstorage==3.3.3 # via keyring @@ -639,36 +611,21 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # coverage - # pylint - # pyproject-api - # pytest - # tox tomlkit==0.12.5 # via # -r requirements/test.txt # pylint tox==4.15.0 # via -r requirements/test.txt -twine==5.0.0 +twine==5.1.0 # via -r requirements/quality.in typing-extensions==4.11.0 # via # -r requirements/test.txt - # asgiref - # astroid - # drf-spectacular # edx-opaque-keys - # kombu - # pylint - # rich tzdata==2024.1 # via # -r requirements/test.txt - # backports-zoneinfo # celery uritemplate==4.1.1 # via @@ -687,7 +644,7 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.26.1 +virtualenv==20.26.2 # via # -r requirements/test.txt # tox @@ -695,11 +652,8 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -zipp==3.18.1 - # via - # -r requirements/test.txt - # importlib-metadata - # importlib-resources +zipp==3.18.2 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/test.txt b/requirements/test.txt index 170ad47d..aab8a302 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 @@ -16,14 +16,10 @@ asgiref==3.8.1 # django # django-cors-headers # django-simple-history -astroid==3.1.0 +astroid==3.2.2 # via # pylint # pylint-celery -async-timeout==4.0.3 - # via - # -r requirements/base.txt - # redis attrs==23.2.0 # via # -r requirements/base.txt @@ -34,13 +30,6 @@ backoff==1.10.0 # via # -r requirements/base.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/base.txt - # celery - # django - # kombu billiard==4.2.0 # via # -r requirements/base.txt @@ -271,11 +260,9 @@ edx-toggles==5.2.0 # via # -r requirements/base.txt # edx-event-bus-kafka -exceptiongroup==1.2.1 - # via pytest factory-boy==3.3.0 # via -r requirements/test.in -faker==25.1.0 +faker==25.2.0 # via factory-boy fastavro==1.9.4 # via @@ -291,11 +278,6 @@ idna==3.7 # via # -r requirements/base.txt # requests -importlib-resources==6.4.0 - # via - # -r requirements/base.txt - # jsonschema - # jsonschema-specifications inflection==0.5.1 # via # -r requirements/base.txt @@ -344,7 +326,7 @@ monotonic==1.6 # analytics-python mysqlclient==2.2.4 # via -r requirements/base.txt -newrelic==9.9.0 +newrelic==9.9.1 # via # -r requirements/base.txt # edx-django-utils @@ -372,11 +354,7 @@ pbr==6.0.0 # via # -r requirements/base.txt # stevedore -pkgutil-resolve-name==1.3.10 - # via - # -r requirements/base.txt - # jsonschema -platformdirs==4.2.1 +platformdirs==4.2.2 # via # pylint # tox @@ -411,7 +389,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.1.1 +pylint==3.2.2 # via # edx-lint # pylint-celery @@ -437,7 +415,7 @@ pynacl==1.5.0 # edx-django-utils pyproject-api==1.6.1 # via tox -pytest==8.2.0 +pytest==8.2.1 # via # pytest-cov # pytest-django @@ -498,7 +476,7 @@ rpds-py==0.18.1 # -r requirements/base.txt # jsonschema # referencing -rules==3.3 +rules==3.4 # via -r requirements/base.txt semantic-version==2.10.0 # via @@ -545,13 +523,6 @@ text-unidecode==1.3 # via # -r requirements/base.txt # python-slugify -tomli==2.0.1 - # via - # coverage - # pylint - # pyproject-api - # pytest - # tox tomlkit==0.12.5 # via pylint tox==4.15.0 @@ -559,16 +530,10 @@ tox==4.15.0 typing-extensions==4.11.0 # via # -r requirements/base.txt - # asgiref - # astroid - # drf-spectacular # edx-opaque-keys - # kombu - # pylint tzdata==2024.1 # via # -r requirements/base.txt - # backports-zoneinfo # celery uritemplate==4.1.1 # via @@ -586,16 +551,12 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.26.1 +virtualenv==20.26.2 # via tox wcwidth==0.2.13 # via # -r requirements/base.txt # prompt-toolkit -zipp==3.18.1 - # via - # -r requirements/base.txt - # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/validation.txt b/requirements/validation.txt index bb749028..0ec60f19 100644 --- a/requirements/validation.txt +++ b/requirements/validation.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 @@ -20,17 +20,12 @@ asgiref==3.8.1 # django # django-cors-headers # django-simple-history -astroid==3.1.0 +astroid==3.2.2 # via # -r requirements/quality.txt # -r requirements/test.txt # pylint # pylint-celery -async-timeout==4.0.3 - # via - # -r requirements/quality.txt - # -r requirements/test.txt - # redis attrs==23.2.0 # via # -r requirements/quality.txt @@ -43,17 +38,6 @@ backoff==1.10.0 # -r requirements/quality.txt # -r requirements/test.txt # analytics-python -backports-tarfile==1.1.1 - # via - # -r requirements/quality.txt - # jaraco-context -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -r requirements/quality.txt - # -r requirements/test.txt - # celery - # django - # kombu billiard==4.2.0 # via # -r requirements/quality.txt @@ -290,7 +274,7 @@ dnspython==2.6.1 # -r requirements/quality.txt # -r requirements/test.txt # pymongo -docutils==0.20.1 +docutils==0.21.2 # via # -r requirements/quality.txt # readme-renderer @@ -380,16 +364,11 @@ edx-toggles==5.2.0 # -r requirements/quality.txt # -r requirements/test.txt # edx-event-bus-kafka -exceptiongroup==1.2.1 - # via - # -r requirements/quality.txt - # -r requirements/test.txt - # pytest factory-boy==3.3.0 # via # -r requirements/quality.txt # -r requirements/test.txt -faker==25.1.0 +faker==25.2.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -417,15 +396,7 @@ idna==3.7 importlib-metadata==6.11.0 # via # -r requirements/quality.txt - # keyring # twine -importlib-resources==6.4.0 - # via - # -r requirements/quality.txt - # -r requirements/test.txt - # jsonschema - # jsonschema-specifications - # keyring inflection==0.5.1 # via # -r requirements/quality.txt @@ -489,7 +460,7 @@ jsonschema-specifications==2023.12.1 # -r requirements/quality.txt # -r requirements/test.txt # jsonschema -keyring==25.2.0 +keyring==25.2.1 # via # -r requirements/quality.txt # twine @@ -530,7 +501,7 @@ mysqlclient==2.2.4 # via # -r requirements/quality.txt # -r requirements/test.txt -newrelic==9.9.0 +newrelic==9.9.1 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -572,12 +543,7 @@ pkginfo==1.10.0 # via # -r requirements/quality.txt # twine -pkgutil-resolve-name==1.3.10 - # via - # -r requirements/quality.txt - # -r requirements/test.txt - # jsonschema -platformdirs==4.2.1 +platformdirs==4.2.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -629,7 +595,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.1.1 +pylint==3.2.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -672,7 +638,7 @@ pyproject-api==1.6.1 # -r requirements/quality.txt # -r requirements/test.txt # tox -pytest==8.2.0 +pytest==8.2.1 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -768,7 +734,7 @@ rpds-py==0.18.1 # -r requirements/test.txt # jsonschema # referencing -rules==3.3 +rules==3.4 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -834,15 +800,6 @@ text-unidecode==1.3 # -r requirements/quality.txt # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/quality.txt - # -r requirements/test.txt - # coverage - # pylint - # pyproject-api - # pytest - # tox tomlkit==0.12.5 # via # -r requirements/quality.txt @@ -852,24 +809,17 @@ tox==4.15.0 # via # -r requirements/quality.txt # -r requirements/test.txt -twine==5.0.0 +twine==5.1.0 # via -r requirements/quality.txt typing-extensions==4.11.0 # via # -r requirements/quality.txt # -r requirements/test.txt - # asgiref - # astroid - # drf-spectacular # edx-opaque-keys - # kombu - # pylint - # rich tzdata==2024.1 # via # -r requirements/quality.txt # -r requirements/test.txt - # backports-zoneinfo # celery uritemplate==4.1.1 # via @@ -891,7 +841,7 @@ vine==5.1.0 # amqp # celery # kombu -virtualenv==20.26.1 +virtualenv==20.26.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -901,12 +851,10 @@ wcwidth==0.2.13 # -r requirements/quality.txt # -r requirements/test.txt # prompt-toolkit -zipp==3.18.1 +zipp==3.18.2 # via # -r requirements/quality.txt - # -r requirements/test.txt # importlib-metadata - # importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/tox.ini b/tox.ini index e778551c..786bd723 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38, 312}-django{42}, quality, docs, pii_check +envlist = py{312}-django{42}, quality, docs, pii_check skipsdist = true [doc8]