From 39843dbc644675da537f4cd5b34ff34694db54bf Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Thu, 21 Mar 2024 17:14:35 +0500 Subject: [PATCH] feat: add python312 support --- .github/workflows/ci.yml | 10 +- requirements/ci.txt | 38 +++--- requirements/constraints.txt | 5 +- requirements/dev.txt | 228 ++++++++++++++++++++--------------- requirements/doc.txt | 210 ++++++++++++++++---------------- requirements/pip-tools.txt | 16 +-- requirements/pip.txt | 6 +- requirements/test.txt | 158 +++++++++++++----------- setup.py | 4 +- tox.ini | 5 +- 10 files changed, 367 insertions(+), 313 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d24cb8d4..281bc0f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,13 +14,13 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [quality, docs, pii-annotations, django32, django40] + python-version: ['3.8', '3.12'] + toxenv: [quality, docs, pii-annotations, django42] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} @@ -36,7 +36,7 @@ jobs: run: tox - name: Run Coverage - if: matrix.python-version == '3.8' && matrix.toxenv=='django32' + if: matrix.python-version == '3.8' && matrix.toxenv=='django42' uses: codecov/codecov-action@v3 with: flags: unittests diff --git a/requirements/ci.txt b/requirements/ci.txt index b99fc0b0..9f335db1 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,27 +4,35 @@ # # make upgrade # -distlib==0.3.7 +cachetools==5.3.3 + # via tox +chardet==5.2.0 + # via tox +colorama==0.4.6 + # via tox +distlib==0.3.8 # via virtualenv -filelock==3.12.4 +filelock==3.13.1 # via # tox # virtualenv -packaging==23.2 - # via tox -platformdirs==3.11.0 - # via virtualenv -pluggy==1.3.0 - # via tox -py==1.11.0 +packaging==24.0 + # via + # pyproject-api + # tox +platformdirs==4.2.0 + # via + # tox + # virtualenv +pluggy==1.4.0 # via tox -six==1.16.0 +pyproject-api==1.6.1 # via tox tomli==2.0.1 - # via tox -tox==3.28.0 # via - # -c requirements/constraints.txt - # -r requirements/ci.in -virtualenv==20.24.5 + # pyproject-api + # tox +tox==4.14.1 + # via -r requirements/ci.in +virtualenv==20.25.1 # via tox diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 1e01265f..57c73c19 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -9,7 +9,7 @@ # linking to it here is good. # Stay on an LTS release -django<4.0 +django<4.2 path==13.1.0 @@ -22,9 +22,6 @@ edx-lint<=1.5.2 algoliasearch-django<4.0.0 algoliasearch<2.0.0 -# tox version greater than 4 is causing problems. -tox<4.0.0 - # latest version require python>=3.9 sphinxcontrib-applehelp<=1.0.4 sphinxcontrib-devhelp<=1.0.2 diff --git a/requirements/dev.txt b/requirements/dev.txt index 811c6d8b..8fb4aa38 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,14 +4,6 @@ # # make upgrade # -aiohttp==3.8.6 - # via - # -r requirements/test.txt - # openai -aiosignal==1.3.1 - # via - # -r requirements/test.txt - # aiohttp algoliasearch==1.20.0 # via # -c requirements/constraints.txt @@ -20,7 +12,16 @@ amqp==2.6.1 # via # -r requirements/test.txt # kombu -asgiref==3.7.2 +annotated-types==0.6.0 + # via + # -r requirements/test.txt + # pydantic +anyio==4.3.0 + # via + # -r requirements/test.txt + # httpx + # openai +asgiref==3.8.0 # via # -r requirements/test.txt # django @@ -28,52 +29,60 @@ astroid==2.3.3 # via # pylint # pylint-celery -async-timeout==4.0.3 +attrs==23.2.0 # via # -r requirements/test.txt - # aiohttp -attrs==23.1.0 + # openedx-events +backports-zoneinfo==0.2.1 # via # -r requirements/test.txt - # aiohttp - # openedx-events -beautifulsoup4==4.12.2 + # django + # djangorestframework +beautifulsoup4==4.12.3 # via -r requirements/test.txt billiard==3.6.4.0 # via # -r requirements/test.txt # celery -boto3==1.28.68 +boto3==1.34.67 # via # -r requirements/test.txt # django-ses -botocore==1.31.68 +botocore==1.34.67 # via # -r requirements/test.txt # boto3 # s3transfer -build==1.0.3 +build==1.1.1 # via # -r requirements/pip-tools.txt # pip-tools +cachetools==5.3.3 + # via + # -r requirements/ci.txt + # tox celery==4.4.7 # via # -c requirements/constraints.txt # -r requirements/test.txt -certifi==2023.7.22 +certifi==2024.2.2 # via # -r requirements/test.txt + # httpcore + # httpx # requests cffi==1.16.0 # via # -r requirements/test.txt # pynacl chardet==5.2.0 - # via diff-cover -charset-normalizer==3.3.1 + # via + # -r requirements/ci.txt + # diff-cover + # tox +charset-normalizer==3.3.2 # via # -r requirements/test.txt - # aiohttp # requests click==8.1.7 # via @@ -86,22 +95,29 @@ click==8.1.7 # pip-tools click-log==0.3.2 # via edx-lint -code-annotations==1.5.0 +code-annotations==1.7.0 # via -r requirements/test.txt -coverage[toml]==7.3.2 +colorama==0.4.6 + # via + # -r requirements/ci.txt + # tox +coverage[toml]==7.4.4 # via # -r requirements/test.txt - # coverage # pytest-cov -ddt==1.6.0 +ddt==1.7.2 # via -r requirements/test.txt -diff-cover==8.0.0 +diff-cover==8.0.3 # via -r requirements/dev.in -distlib==0.3.7 +distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.22 +distro==1.9.0 + # via + # -r requirements/test.txt + # openai +django==4.1.13 # via # -c requirements/constraints.txt # -r requirements/test.txt @@ -122,26 +138,27 @@ django-crum==0.7.9 # via # -r requirements/test.txt # edx-django-utils -django-filter==23.3 +django-filter==23.5 # via -r requirements/test.txt -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via -r requirements/test.txt django-object-actions==4.2.0 # via -r requirements/test.txt -django-ses==3.5.0 +django-ses==3.5.2 # via -r requirements/test.txt -django-solo==2.1.0 +django-solo==2.2.0 # via -r requirements/test.txt -django-waffle==4.0.0 +django-waffle==4.1.0 # via # -r requirements/test.txt # edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.0 # via -r requirements/test.txt -edx-django-utils==5.7.0 +edx-django-utils==5.11.0 # via # -r requirements/test.txt # edx-rest-api-client + # openedx-events edx-i18n-tools==1.3.0 # via -r requirements/dev.in edx-lint==1.5.2 @@ -151,40 +168,48 @@ edx-lint==1.5.2 edx-opaque-keys[django]==2.5.1 # via # -r requirements/test.txt - # edx-opaque-keys # openedx-events edx-rest-api-client==5.6.1 # via -r requirements/test.txt -exceptiongroup==1.1.3 +exceptiongroup==1.2.0 # via # -r requirements/test.txt + # anyio # pytest factory-boy==3.3.0 # via -r requirements/test.txt -faker==19.11.0 +faker==24.3.0 # via # -r requirements/test.txt # factory-boy -fastavro==1.8.4 +fastavro==1.9.4 # via # -r requirements/test.txt # openedx-events -filelock==3.12.4 +filelock==3.13.1 # via # -r requirements/ci.txt # tox # virtualenv -frozenlist==1.4.0 +h11==0.14.0 + # via + # -r requirements/test.txt + # httpcore +httpcore==1.0.4 + # via + # -r requirements/test.txt + # httpx +httpx==0.27.0 # via # -r requirements/test.txt - # aiohttp - # aiosignal -idna==3.4 + # openai +idna==3.6 # via # -r requirements/test.txt + # anyio + # httpx # requests - # yarl -importlib-metadata==6.8.0 +importlib-metadata==7.1.0 # via # -r requirements/pip-tools.txt # build @@ -196,7 +221,7 @@ isort==4.3.21 # via # -r requirements/dev.in # pylint -jinja2==3.1.2 +jinja2==3.1.3 # via # -r requirements/test.txt # code-annotations @@ -212,9 +237,9 @@ kombu==4.6.11 # celery lazy-object-proxy==1.4.3 # via astroid -lxml==4.9.3 +lxml==5.1.0 # via edx-i18n-tools -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/test.txt # jinja2 @@ -222,42 +247,39 @@ mccabe==0.6.1 # via pylint mock==5.1.0 # via -r requirements/test.txt -multidict==6.0.4 - # via - # -r requirements/test.txt - # aiohttp - # yarl -newrelic==9.1.1 +newrelic==9.7.1 # via # -r requirements/test.txt # edx-django-utils -openai==0.28.1 +openai==1.14.2 # via -r requirements/test.txt -openedx-events==9.0.0 +openedx-events==9.5.2 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt # -r requirements/test.txt # build + # pyproject-api # pytest # tox path==13.1.0 # via # -c requirements/constraints.txt # edx-i18n-tools -pbr==5.11.1 +pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pip-tools==7.3.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.txt -platformdirs==3.11.0 +platformdirs==4.2.0 # via # -r requirements/ci.txt + # tox # virtualenv -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/ci.txt # -r requirements/test.txt @@ -266,23 +288,27 @@ pluggy==1.3.0 # tox polib==1.2.0 # via edx-i18n-tools -psutil==5.9.6 +psutil==5.9.8 # via # -r requirements/test.txt # edx-django-utils -py==1.11.0 - # via - # -r requirements/ci.txt - # tox pycodestyle==2.11.1 # via -r requirements/dev.in pycparser==2.21 # via # -r requirements/test.txt # cffi +pydantic==2.6.4 + # via + # -r requirements/test.txt + # openai +pydantic-core==2.16.3 + # via + # -r requirements/test.txt + # pydantic pydocstyle==6.3.0 # via -r requirements/dev.in -pygments==2.16.1 +pygments==2.17.2 # via diff-cover pyjwt==2.8.0 # via @@ -310,35 +336,38 @@ pynacl==1.5.0 # via # -r requirements/test.txt # edx-django-utils +pyproject-api==1.6.1 + # via + # -r requirements/ci.txt + # tox pyproject-hooks==1.0.0 # via # -r requirements/pip-tools.txt # build -pytest==7.4.2 + # pip-tools +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov # pytest-django pytest-cov==4.1.0 # via -r requirements/test.txt -pytest-django==4.5.2 +pytest-django==4.8.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # botocore # faker -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2023.3.post1 +pytz==2024.1 # via # -r requirements/test.txt # celery - # django # django-ses - # djangorestframework pyyaml==6.0.1 # via # -r requirements/test.txt @@ -350,27 +379,30 @@ requests==2.31.0 # -r requirements/test.txt # algoliasearch # edx-rest-api-client - # openai # responses # slumber -responses==0.23.3 +responses==0.25.0 # via -r requirements/test.txt -s3transfer==0.7.0 +s3transfer==0.10.1 # via # -r requirements/test.txt # boto3 six==1.16.0 # via - # -r requirements/ci.txt # -r requirements/test.txt # astroid # edx-lint # python-dateutil - # tox slumber==0.7.1 # via # -r requirements/test.txt # edx-rest-api-client +sniffio==1.3.1 + # via + # -r requirements/test.txt + # anyio + # httpx + # openai snowballstemmer==2.2.0 # via pydocstyle soupsieve==2.5 @@ -381,13 +413,13 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/test.txt # code-annotations # edx-django-utils # edx-opaque-keys -testfixtures==7.2.2 +testfixtures==8.1.0 # via -r requirements/test.txt text-unidecode==1.3 # via @@ -401,27 +433,27 @@ tomli==2.0.1 # build # coverage # pip-tools + # pyproject-api # pyproject-hooks # pytest # tox -tox==3.28.0 - # via - # -c requirements/constraints.txt - # -r requirements/ci.txt -tqdm==4.66.1 +tox==4.14.1 + # via -r requirements/ci.txt +tqdm==4.66.2 # via # -r requirements/test.txt # openai -types-pyyaml==6.0.12.12 - # via - # -r requirements/test.txt - # responses -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt + # annotated-types + # anyio # asgiref # edx-opaque-keys # faker + # openai + # pydantic + # pydantic-core urllib3==1.26.18 # via # -r requirements/test.txt @@ -433,21 +465,17 @@ vine==1.3.0 # -r requirements/test.txt # amqp # celery -virtualenv==20.24.5 +virtualenv==20.25.1 # via # -r requirements/ci.txt # tox -wheel==0.41.2 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools wrapt==1.11.2 # via astroid -yarl==1.9.2 - # via - # -r requirements/test.txt - # aiohttp -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/pip-tools.txt # importlib-metadata diff --git a/requirements/doc.txt b/requirements/doc.txt index 2f33de61..a62fda83 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -6,14 +6,6 @@ # accessible-pygments==0.0.4 # via pydata-sphinx-theme -aiohttp==3.8.6 - # via - # -r requirements/test.txt - # openai -aiosignal==1.3.1 - # via - # -r requirements/test.txt - # aiohttp alabaster==0.7.13 # via sphinx algoliasearch==1.20.0 @@ -24,24 +16,33 @@ amqp==2.6.1 # via # -r requirements/test.txt # kombu -asgiref==3.7.2 +annotated-types==0.6.0 # via # -r requirements/test.txt - # django -async-timeout==4.0.3 + # pydantic +anyio==4.3.0 # via # -r requirements/test.txt - # aiohttp -attrs==23.1.0 + # httpx + # openai +asgiref==3.8.0 + # via + # -r requirements/test.txt + # django +attrs==23.2.0 # via # -r requirements/test.txt - # aiohttp # openedx-events -babel==2.13.0 +babel==2.14.0 # via # pydata-sphinx-theme # sphinx -beautifulsoup4==4.12.2 +backports-zoneinfo==0.2.1 + # via + # -r requirements/test.txt + # django + # djangorestframework +beautifulsoup4==4.12.3 # via # -r requirements/test.txt # pydata-sphinx-theme @@ -49,52 +50,53 @@ billiard==3.6.4.0 # via # -r requirements/test.txt # celery -boto3==1.28.68 +boto3==1.34.67 # via # -r requirements/test.txt # django-ses -botocore==1.31.68 +botocore==1.34.67 # via # -r requirements/test.txt # boto3 # s3transfer -build==1.0.3 +build==1.1.1 # via -r requirements/doc.in celery==4.4.7 # via # -c requirements/constraints.txt # -r requirements/test.txt -certifi==2023.7.22 +certifi==2024.2.2 # via # -r requirements/test.txt + # httpcore + # httpx # requests cffi==1.16.0 # via # -r requirements/test.txt - # cryptography # pynacl -charset-normalizer==3.3.1 +charset-normalizer==3.3.2 # via # -r requirements/test.txt - # aiohttp # requests click==8.1.7 # via # -r requirements/test.txt # code-annotations # edx-django-utils -code-annotations==1.5.0 +code-annotations==1.7.0 # via -r requirements/test.txt -coverage[toml]==7.3.2 +coverage[toml]==7.4.4 # via # -r requirements/test.txt - # coverage # pytest-cov -cryptography==41.0.4 - # via secretstorage -ddt==1.6.0 +ddt==1.7.2 # via -r requirements/test.txt -django==3.2.22 +distro==1.9.0 + # via + # -r requirements/test.txt + # openai +django==4.1.13 # via # -c requirements/constraints.txt # -r requirements/test.txt @@ -114,21 +116,21 @@ django-crum==0.7.9 # via # -r requirements/test.txt # edx-django-utils -django-filter==23.3 +django-filter==23.5 # via -r requirements/test.txt -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via -r requirements/test.txt django-object-actions==4.2.0 # via -r requirements/test.txt -django-ses==3.5.0 +django-ses==3.5.2 # via -r requirements/test.txt -django-solo==2.1.0 +django-solo==2.2.0 # via -r requirements/test.txt -django-waffle==4.0.0 +django-waffle==4.1.0 # via # -r requirements/test.txt # edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.0 # via -r requirements/test.txt doc8==1.1.1 # via -r requirements/doc.in @@ -139,62 +141,67 @@ docutils==0.19 # readme-renderer # restructuredtext-lint # sphinx -edx-django-utils==5.7.0 +edx-django-utils==5.11.0 # via # -r requirements/test.txt # edx-rest-api-client + # openedx-events edx-opaque-keys[django]==2.5.1 # via # -r requirements/test.txt - # edx-opaque-keys # openedx-events edx-rest-api-client==5.6.1 # via -r requirements/test.txt -exceptiongroup==1.1.3 +exceptiongroup==1.2.0 # via # -r requirements/test.txt + # anyio # pytest factory-boy==3.3.0 # via -r requirements/test.txt -faker==19.11.0 +faker==24.3.0 # via # -r requirements/test.txt # factory-boy -fastavro==1.8.4 +fastavro==1.9.4 # via # -r requirements/test.txt # openedx-events -frozenlist==1.4.0 +h11==0.14.0 + # via + # -r requirements/test.txt + # httpcore +httpcore==1.0.4 # via # -r requirements/test.txt - # aiohttp - # aiosignal -idna==3.4 + # httpx +httpx==0.27.0 # via # -r requirements/test.txt + # openai +idna==3.6 + # via + # -r requirements/test.txt + # anyio + # httpx # requests - # yarl imagesize==1.4.1 # via sphinx -importlib-metadata==6.8.0 +importlib-metadata==7.1.0 # via # build # keyring # sphinx # twine -importlib-resources==6.1.0 +importlib-resources==6.3.2 # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -jaraco-classes==3.3.0 +jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage -jinja2==3.1.2 +jinja2==3.1.3 # via # -r requirements/test.txt # code-annotations @@ -204,7 +211,7 @@ jmespath==1.0.1 # -r requirements/test.txt # boto3 # botocore -keyring==24.2.0 +keyring==24.3.1 # via twine kombu==4.6.11 # via @@ -212,7 +219,7 @@ kombu==4.6.11 # celery markdown-it-py==3.0.0 # via rich -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/test.txt # jinja2 @@ -220,41 +227,36 @@ mdurl==0.1.2 # via markdown-it-py mock==5.1.0 # via -r requirements/test.txt -more-itertools==10.1.0 +more-itertools==10.2.0 # via jaraco-classes -multidict==6.0.4 - # via - # -r requirements/test.txt - # aiohttp - # yarl -newrelic==9.1.1 +newrelic==9.7.1 # via # -r requirements/test.txt # edx-django-utils -nh3==0.2.14 +nh3==0.2.15 # via readme-renderer -openai==0.28.1 +openai==1.14.2 # via -r requirements/test.txt -openedx-events==9.0.0 +openedx-events==9.5.2 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # build # pydata-sphinx-theme # pytest # sphinx -pbr==5.11.1 +pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/test.txt # pytest -psutil==5.9.6 +psutil==5.9.8 # via # -r requirements/test.txt # edx-django-utils @@ -262,9 +264,17 @@ pycparser==2.21 # via # -r requirements/test.txt # cffi -pydata-sphinx-theme==0.14.1 +pydantic==2.6.4 + # via + # -r requirements/test.txt + # openai +pydantic-core==2.16.3 + # via + # -r requirements/test.txt + # pydantic +pydata-sphinx-theme==0.14.4 # via sphinx-book-theme -pygments==2.16.1 +pygments==2.17.2 # via # accessible-pygments # doc8 @@ -286,45 +296,42 @@ pynacl==1.5.0 # edx-django-utils pyproject-hooks==1.0.0 # via build -pytest==7.4.2 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov # pytest-django pytest-cov==4.1.0 # via -r requirements/test.txt -pytest-django==4.5.2 +pytest-django==4.8.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # botocore # faker -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2023.3.post1 +pytz==2024.1 # via # -r requirements/test.txt # babel # celery - # django # django-ses - # djangorestframework pyyaml==6.0.1 # via # -r requirements/test.txt # code-annotations # responses -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via # -r requirements/test.txt # algoliasearch # edx-rest-api-client - # openai # requests-toolbelt # responses # slumber @@ -332,20 +339,18 @@ requests==2.31.0 # twine requests-toolbelt==1.0.0 # via twine -responses==0.23.3 +responses==0.25.0 # via -r requirements/test.txt restructuredtext-lint==1.4.0 # via doc8 rfc3986==2.0.0 # via twine -rich==13.6.0 +rich==13.7.1 # via twine -s3transfer==0.7.0 +s3transfer==0.10.1 # via # -r requirements/test.txt # boto3 -secretstorage==3.3.3 - # via keyring six==1.16.0 # via # -r requirements/test.txt @@ -354,6 +359,12 @@ slumber==0.7.1 # via # -r requirements/test.txt # edx-rest-api-client +sniffio==1.3.1 + # via + # -r requirements/test.txt + # anyio + # httpx + # openai snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 @@ -393,14 +404,14 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/test.txt # code-annotations # doc8 # edx-django-utils # edx-opaque-keys -testfixtures==7.2.2 +testfixtures==8.1.0 # via -r requirements/test.txt text-unidecode==1.3 # via @@ -414,22 +425,23 @@ tomli==2.0.1 # doc8 # pyproject-hooks # pytest -tqdm==4.66.1 +tqdm==4.66.2 # via # -r requirements/test.txt # openai -twine==4.0.2 +twine==5.0.0 # via -r requirements/doc.in -types-pyyaml==6.0.12.12 - # via - # -r requirements/test.txt - # responses -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt + # annotated-types + # anyio # asgiref # edx-opaque-keys # faker + # openai + # pydantic + # pydantic-core # pydata-sphinx-theme # rich urllib3==1.26.18 @@ -444,11 +456,7 @@ vine==1.3.0 # -r requirements/test.txt # amqp # celery -yarl==1.9.2 - # via - # -r requirements/test.txt - # aiohttp -zipp==3.17.0 +zipp==3.18.1 # via # importlib-metadata # importlib-resources diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 50d35f22..8931dc2e 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,26 +4,28 @@ # # make upgrade # -build==1.0.3 +build==1.1.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==6.8.0 +importlib-metadata==7.1.0 # via build -packaging==23.2 +packaging==24.0 # 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 + # via + # build + # pip-tools tomli==2.0.1 # via # build # pip-tools # pyproject-hooks -wheel==0.41.2 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 0c788d61..cf449024 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.41.2 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==23.3.1 +pip==24.0 # via -r requirements/pip.in -setuptools==68.2.2 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/test.txt b/requirements/test.txt index 38b53f50..308eefff 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,31 +4,33 @@ # # make upgrade # -aiohttp==3.8.6 - # via openai -aiosignal==1.3.1 - # via aiohttp algoliasearch==1.20.0 # via # -c requirements/constraints.txt # -r requirements/base.in amqp==2.6.1 # via kombu -asgiref==3.7.2 +annotated-types==0.6.0 + # via pydantic +anyio==4.3.0 + # via + # httpx + # openai +asgiref==3.8.0 # via django -async-timeout==4.0.3 - # via aiohttp -attrs==23.1.0 +attrs==23.2.0 + # via openedx-events +backports-zoneinfo==0.2.1 # via - # aiohttp - # openedx-events -beautifulsoup4==4.12.2 + # django + # djangorestframework +beautifulsoup4==4.12.3 # via -r requirements/base.in billiard==3.6.4.0 # via celery -boto3==1.28.68 +boto3==1.34.67 # via django-ses -botocore==1.31.68 +botocore==1.34.67 # via # boto3 # s3transfer @@ -36,26 +38,27 @@ celery==4.4.7 # via # -c requirements/constraints.txt # -r requirements/base.in -certifi==2023.7.22 - # via requests -cffi==1.16.0 - # via pynacl -charset-normalizer==3.3.1 +certifi==2024.2.2 # via - # aiohttp + # httpcore + # httpx # requests +cffi==1.16.0 + # via pynacl +charset-normalizer==3.3.2 + # via requests click==8.1.7 # via # code-annotations # edx-django-utils -code-annotations==1.5.0 +code-annotations==1.7.0 # via -r requirements/test.in -coverage[toml]==7.3.2 - # via - # coverage - # pytest-cov -ddt==1.6.0 +coverage[toml]==7.4.4 + # via pytest-cov +ddt==1.7.2 # via -r requirements/test.in +distro==1.9.0 + # via openai # via # -c requirements/constraints.txt # -r requirements/base.in @@ -73,51 +76,57 @@ django-choices==2.0.0 # via -r requirements/base.in django-crum==0.7.9 # via edx-django-utils -django-filter==23.3 +django-filter==23.5 # via -r requirements/base.in -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via -r requirements/base.in django-object-actions==4.2.0 # via -r requirements/base.in -django-ses==3.5.0 +django-ses==3.5.2 # via -r requirements/base.in -django-solo==2.1.0 +django-solo==2.2.0 # via -r requirements/base.in -django-waffle==4.0.0 +django-waffle==4.1.0 # via edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.0 # via -r requirements/base.in -edx-django-utils==5.7.0 +edx-django-utils==5.11.0 # via # -r requirements/base.in # edx-rest-api-client + # openedx-events edx-opaque-keys[django]==2.5.1 # via # -r requirements/base.in # openedx-events edx-rest-api-client==5.6.1 # via -r requirements/base.in -exceptiongroup==1.1.3 - # via pytest +exceptiongroup==1.2.0 + # via + # anyio + # pytest factory-boy==3.3.0 # via -r requirements/test.in -faker==19.11.0 +faker==24.3.0 # via # -r requirements/test.in # factory-boy -fastavro==1.8.4 +fastavro==1.9.4 # via openedx-events -frozenlist==1.4.0 - # via - # aiohttp - # aiosignal -idna==3.4 +h11==0.14.0 + # via httpcore +httpcore==1.0.4 + # via httpx +httpx==0.27.0 + # via openai +idna==3.6 # via + # anyio + # httpx # requests - # yarl iniconfig==2.0.0 # via pytest -jinja2==3.1.2 +jinja2==3.1.3 # via code-annotations jmespath==1.0.1 # via @@ -125,57 +134,55 @@ jmespath==1.0.1 # botocore kombu==4.6.11 # via celery -markupsafe==2.1.3 +markupsafe==2.1.5 # via jinja2 mock==5.1.0 # via -r requirements/test.in -multidict==6.0.4 - # via - # aiohttp - # yarl -newrelic==9.1.1 +newrelic==9.7.1 # via edx-django-utils -openai==0.28.1 +openai==1.14.2 # via -r requirements/base.in -openedx-events==9.0.0 +openedx-events==9.5.2 # via -r requirements/base.in -packaging==23.2 +packaging==24.0 # via pytest -pbr==5.11.1 +pbr==6.0.0 # via stevedore -pluggy==1.3.0 +pluggy==1.4.0 # via pytest -psutil==5.9.6 +psutil==5.9.8 # via edx-django-utils pycparser==2.21 # via cffi +pydantic==2.6.4 + # via openai +pydantic-core==2.16.3 + # via pydantic pyjwt==2.8.0 # via edx-rest-api-client pymongo==3.13.0 # via edx-opaque-keys pynacl==1.5.0 # via edx-django-utils -pytest==7.4.2 +pytest==8.1.1 # via # pytest-cov # pytest-django pytest-cov==4.1.0 # via -r requirements/test.in -pytest-django==4.5.2 +pytest-django==4.8.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # botocore # faker -python-slugify==8.0.1 +python-slugify==8.0.4 # via code-annotations -pytz==2023.3.post1 +pytz==2024.1 # via # -r requirements/base.in # celery - # django # django-ses - # djangorestframework pyyaml==6.0.1 # via # code-annotations @@ -184,27 +191,31 @@ requests==2.31.0 # via # algoliasearch # edx-rest-api-client - # openai # responses # slumber -responses==0.23.3 +responses==0.25.0 # via -r requirements/test.in -s3transfer==0.7.0 +s3transfer==0.10.1 # via boto3 six==1.16.0 # via python-dateutil slumber==0.7.1 # via edx-rest-api-client +sniffio==1.3.1 + # via + # anyio + # httpx + # openai soupsieve==2.5 # via beautifulsoup4 sqlparse==0.4.4 # via django -stevedore==5.1.0 +stevedore==5.2.0 # via # code-annotations # edx-django-utils # edx-opaque-keys -testfixtures==7.2.2 +testfixtures==8.1.0 # via -r requirements/test.in text-unidecode==1.3 # via python-slugify @@ -212,15 +223,18 @@ tomli==2.0.1 # via # coverage # pytest -tqdm==4.66.1 +tqdm==4.66.2 # via openai -types-pyyaml==6.0.12.12 - # via responses -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via + # annotated-types + # anyio # asgiref # edx-opaque-keys # faker + # openai + # pydantic + # pydantic-core urllib3==1.26.18 # via # botocore @@ -230,5 +244,3 @@ vine==1.3.0 # via # amqp # celery -yarl==1.9.2 - # via aiohttp diff --git a/setup.py b/setup.py index c27e4f83..7049515c 100644 --- a/setup.py +++ b/setup.py @@ -95,9 +95,9 @@ def get_requirements(requirements_file): install_requires=REQUIREMENTS, classifiers=[ 'Framework :: Django', - 'Framework :: Django :: 3.2', - 'Framework :: Django :: 4.0', + 'Framework :: Django :: 4.2', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.12', ], ) diff --git a/tox.ini b/tox.ini index 981aad49..e36811f9 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38-django{32,40},quality,pii-annotations +envlist = py{38, 312}-django{42},quality,pii-annotations [pycodestyle] exclude = .git,.tox,migrations @@ -44,8 +44,7 @@ markers = [testenv] deps = - django32: Django>=3.2,<4.0 - django40: Django>=4.0,<4.1 + django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt commands = pytest {posargs}