From 0dc0e349d1ab238275de4dbcede90d84ad149989 Mon Sep 17 00:00:00 2001 From: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com> Date: Mon, 29 Jul 2024 07:18:26 -0400 Subject: [PATCH] chore: Upgrade Python requirements (#203) * chore: Upgrade Python requirements * fix: drop support for python 3.8 * fix: quality issues --------- Co-authored-by: Irtaza Akram --- .github/workflows/ci.yml | 6 +-- .github/workflows/lint-imports.yml | 6 +-- .github/workflows/pypi-publish.yml | 6 +-- .readthedocs.yaml | 2 +- docs/conf.py | 2 +- mysql_test_settings.py | 2 +- openedx_tagging/core/tagging/api.py | 6 ++- requirements/base.txt | 22 ++------- requirements/ci.txt | 6 +-- requirements/dev.txt | 72 +++++++---------------------- requirements/doc.txt | 68 ++++++++------------------- requirements/pip-tools.txt | 10 +--- requirements/pip.txt | 6 +-- requirements/quality.txt | 61 ++++++------------------ requirements/test.txt | 36 ++++----------- setup.py | 3 +- tox.ini | 2 +- 17 files changed, 86 insertions(+), 230 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 68583961..e06cecd1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] # Add macos-latest later? - python-version: ['3.8', '3.11', '3.12'] + python-version: ['3.11', '3.12'] toxenv: ["django42", "package", "quality"] # We're only testing against MySQL 8 right now because 5.7 is # incompatible with Djagno 4.2. We'd have to make the tox.ini file more @@ -40,9 +40,9 @@ jobs: --health-timeout 5s --health-retries 3 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/lint-imports.yml b/.github/workflows/lint-imports.yml index d40ce01f..d9d724af 100644 --- a/.github/workflows/lint-imports.yml +++ b/.github/workflows/lint-imports.yml @@ -13,11 +13,11 @@ jobs: name: Lint Python Imports runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: - python-version: '3.8' + python-version: '3.11' - name: Install pip run: pip install -r requirements/pip.txt diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index 325ea8ce..f86fa319 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -11,11 +11,11 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: setup python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.11 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 0f029d2f..8d28a715 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,6 +10,6 @@ sphinx: configuration: docs/conf.py python: - version: 3.8 + version: 3.11 install: - requirements: requirements/doc.txt diff --git a/docs/conf.py b/docs/conf.py index a21df132..8d5e0f62 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -499,7 +499,7 @@ def get_version(*file_paths): # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = { - 'python': ('https://docs.python.org/3.8', None), + 'python': ('https://docs.python.org/3.11', None), 'django': ('https://docs.djangoproject.com/en/2.2/', 'https://docs.djangoproject.com/en/2.2/_objects/'), 'model_utils': ('https://django-model-utils.readthedocs.io/en/latest/', None), } diff --git a/mysql_test_settings.py b/mysql_test_settings.py index f519c540..b72e58ab 100644 --- a/mysql_test_settings.py +++ b/mysql_test_settings.py @@ -4,7 +4,7 @@ also do some MySQL-specific things around charset/collation settings and row compression. -The tox targets for py38-django32 and py38-django42 will use this settings file. +The tox targets for py311-django42 and py312-django42 will use this settings file. For the most part, you can use test_settings.py instead (that's the default if you just run "pytest" with no arguments). diff --git a/openedx_tagging/core/tagging/api.py b/openedx_tagging/core/tagging/api.py index 6d46334e..1ccc1992 100644 --- a/openedx_tagging/core/tagging/api.py +++ b/openedx_tagging/core/tagging/api.py @@ -190,8 +190,10 @@ def get_object_tags( .exclude(taxonomy__enabled=False) # Exclude if the whole taxonomy is disabled ) if not include_deleted: - base_qs = base_qs.exclude(taxonomy_id=None) # Exclude if the whole taxonomy was deleted - base_qs = base_qs.exclude(tag_id=None, taxonomy__allow_free_text=False) # Exclude if just the tag is deleted + # Exclude if the whole taxonomy was deleted + base_qs = base_qs.exclude(taxonomy_id=None) # type: ignore + # Exclude if just the tag is deleted + base_qs = base_qs.exclude(tag_id=None, taxonomy__allow_free_text=False) # type: ignore tags = ( base_qs # Preload related objects, including data for the "get_lineage" method on ObjectTag/Tag: diff --git a/requirements/base.txt b/requirements/base.txt index 7170535a..ee08dead 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.11 # by the following command: # # make upgrade @@ -10,13 +10,6 @@ asgiref==3.8.1 # via django attrs==23.2.0 # via -r requirements/base.in -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.4.0 @@ -42,7 +35,7 @@ click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -cryptography==42.0.8 +cryptography==43.0.0 # via pyjwt django==4.2.14 # via @@ -107,21 +100,16 @@ semantic-version==2.10.0 # via edx-drf-extensions six==1.16.0 # via python-dateutil -sqlparse==0.5.0 +sqlparse==0.5.1 # via django stevedore==5.2.0 # via # edx-django-utils # edx-opaque-keys typing-extensions==4.12.2 - # via - # asgiref - # edx-opaque-keys - # kombu + # via edx-opaque-keys tzdata==2024.1 - # via - # backports-zoneinfo - # celery + # via celery urllib3==2.2.2 # via requests vine==5.1.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index 9ebb8990..378b273f 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.11 # by the following command: # # make upgrade @@ -26,10 +26,6 @@ py==1.11.0 # via tox six==1.16.0 # via tox -tomli==2.0.1 - # via - # import-linter - # tox tox==3.28.0 # via # -c requirements/constraints.txt diff --git a/requirements/dev.txt b/requirements/dev.txt index 3d8365d7..db165641 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.11 # by the following command: # # make upgrade @@ -13,7 +13,7 @@ asgiref==3.8.1 # -r requirements/quality.txt # django # django-stubs -astroid==3.2.3 +astroid==3.2.4 # via # -r requirements/quality.txt # pylint @@ -24,14 +24,6 @@ backports-tarfile==1.2.0 # via # -r requirements/quality.txt # jaraco-context -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/quality.txt - # celery - # django - # djangorestframework - # kombu billiard==4.2.0 # via # -r requirements/quality.txt @@ -96,14 +88,14 @@ coverage[toml]==7.6.0 # via # -r requirements/quality.txt # pytest-cov -cryptography==42.0.8 +cryptography==43.0.0 # via # -r requirements/quality.txt # pyjwt # secretstorage ddt==1.7.2 # via -r requirements/quality.txt -diff-cover==9.1.0 +diff-cover==9.1.1 # via -r requirements/dev.in dill==0.3.8 # via @@ -135,11 +127,11 @@ django-debug-toolbar==4.4.6 # via # -r requirements/dev.in # -r requirements/quality.txt -django-stubs==5.0.2 +django-stubs==5.0.4 # via # -r requirements/quality.txt # djangorestframework-stubs -django-stubs-ext==5.0.2 +django-stubs-ext==5.0.4 # via # -r requirements/quality.txt # django-stubs @@ -159,7 +151,7 @@ dnspython==2.6.1 # via # -r requirements/quality.txt # pymongo -docutils==0.20.1 +docutils==0.21.2 # via # -r requirements/quality.txt # readme-renderer @@ -175,16 +167,12 @@ edx-drf-extensions==10.3.0 # via -r requirements/quality.txt edx-i18n-tools==1.6.0 # via -r requirements/dev.in -edx-lint==5.3.6 +edx-lint==5.3.7 # via -r requirements/quality.txt edx-opaque-keys==2.10.0 # via # -r requirements/quality.txt # edx-drf-extensions -exceptiongroup==1.2.2 - # via - # -r requirements/quality.txt - # pytest filelock==3.15.4 # via # -r requirements/ci.txt @@ -203,17 +191,11 @@ import-linter==2.0 # via # -r requirements/ci.txt # -r requirements/quality.txt -importlib-metadata==8.0.0 +importlib-metadata==8.2.0 # via - # -r requirements/pip-tools.txt # -r requirements/quality.txt - # build # keyring # twine -importlib-resources==6.4.0 - # via - # -r requirements/quality.txt - # keyring iniconfig==2.0.0 # via # -r requirements/quality.txt @@ -281,7 +263,7 @@ more-itertools==10.3.0 # -r requirements/quality.txt # jaraco-classes # jaraco-functools -mypy==1.10.1 +mypy==1.11.0 # via -r requirements/quality.txt mypy-extensions==1.0.0 # via @@ -305,7 +287,7 @@ packaging==24.1 # build # pytest # tox -path==16.14.0 +path==17.0.0 # via edx-i18n-tools pbr==6.0.0 # via @@ -363,7 +345,7 @@ pyjwt[crypto]==2.8.0 # -r requirements/quality.txt # drf-jwt # edx-drf-extensions -pylint==3.2.5 +pylint==3.2.6 # via # -r requirements/quality.txt # edx-lint @@ -396,7 +378,7 @@ pyproject-hooks==1.1.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.2.2 +pytest==8.3.2 # via # -r requirements/quality.txt # pytest-cov @@ -418,7 +400,7 @@ pyyaml==6.0.1 # -r requirements/quality.txt # code-annotations # edx-i18n-tools -readme-renderer==43.0 +readme-renderer==44.0 # via # -r requirements/quality.txt # twine @@ -462,7 +444,7 @@ snowballstemmer==2.2.0 # via # -r requirements/quality.txt # pydocstyle -sqlparse==0.5.0 +sqlparse==0.5.1 # via # -r requirements/quality.txt # django @@ -477,20 +459,6 @@ text-unidecode==1.3 # via # -r requirements/quality.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/ci.txt - # -r requirements/pip-tools.txt - # -r requirements/quality.txt - # build - # coverage - # django-stubs - # import-linter - # mypy - # pip-tools - # pylint - # pytest - # tox tomlkit==0.13.0 # via # -r requirements/quality.txt @@ -501,7 +469,7 @@ tox==3.28.0 # -r requirements/ci.txt twine==5.1.1 # via -r requirements/quality.txt -types-pyyaml==6.0.12.20240311 +types-pyyaml==6.0.12.20240724 # via # -r requirements/quality.txt # django-stubs @@ -514,22 +482,16 @@ typing-extensions==4.12.2 # via # -r requirements/ci.txt # -r requirements/quality.txt - # asgiref - # astroid # django-stubs # django-stubs-ext # djangorestframework-stubs # edx-opaque-keys # grimp # import-linter - # kombu # mypy - # pylint - # rich tzdata==2024.1 # via # -r requirements/quality.txt - # backports-zoneinfo # celery urllib3==2.2.2 # via @@ -557,10 +519,8 @@ wheel==0.43.0 # pip-tools zipp==3.19.2 # via - # -r requirements/pip-tools.txt # -r requirements/quality.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 114908a8..c2614e16 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.11 # 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 @@ -23,14 +23,6 @@ babel==2.15.0 # via # pydata-sphinx-theme # sphinx -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/test.txt - # celery - # django - # djangorestframework - # kombu beautifulsoup4==4.12.3 # via pydata-sphinx-theme billiard==4.2.0 @@ -80,7 +72,7 @@ coverage[toml]==7.6.0 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.8 +cryptography==43.0.0 # via # -r requirements/test.txt # pyjwt @@ -106,11 +98,11 @@ django-crum==0.7.9 # edx-django-utils django-debug-toolbar==4.4.6 # via -r requirements/test.txt -django-stubs==5.0.2 +django-stubs==5.0.4 # via # -r requirements/test.txt # djangorestframework-stubs -django-stubs-ext==5.0.2 +django-stubs-ext==5.0.4 # via # -r requirements/test.txt # django-stubs @@ -132,7 +124,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 @@ -153,10 +145,6 @@ edx-opaque-keys==2.10.0 # via # -r requirements/test.txt # edx-drf-extensions -exceptiongroup==1.2.2 - # via - # -r requirements/test.txt - # pytest grimp==3.4.1 # via # -r requirements/test.txt @@ -169,8 +157,6 @@ imagesize==1.4.1 # via sphinx import-linter==2.0 # via -r requirements/test.txt -importlib-metadata==8.0.0 - # via sphinx iniconfig==2.0.0 # via # -r requirements/test.txt @@ -190,7 +176,7 @@ markupsafe==2.1.5 # jinja2 mock==5.1.0 # via -r requirements/test.txt -mypy==1.10.1 +mypy==1.11.0 # via -r requirements/test.txt mypy-extensions==1.0.0 # via @@ -232,7 +218,7 @@ pycparser==2.22 # via # -r requirements/test.txt # cffi -pydata-sphinx-theme==0.14.4 +pydata-sphinx-theme==0.15.4 # via sphinx-book-theme pygments==2.18.0 # via @@ -254,7 +240,7 @@ pynacl==1.5.0 # via # -r requirements/test.txt # edx-django-utils -pytest==8.2.2 +pytest==8.3.2 # via # -r requirements/test.txt # pytest-cov @@ -271,8 +257,6 @@ python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2024.1 - # via babel pyyaml==6.0.1 # via # -r requirements/test.txt @@ -301,29 +285,29 @@ snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 # via beautifulsoup4 -sphinx==6.2.1 +sphinx==7.4.7 # via # -r requirements/doc.in # pydata-sphinx-theme # sphinx-book-theme # sphinxcontrib-django -sphinx-book-theme==1.0.1 +sphinx-book-theme==1.1.3 # 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-django==2.5 # via -r requirements/doc.in -sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-htmlhelp==2.0.6 # via sphinx sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-qthelp==1.0.8 # via sphinx -sphinxcontrib-serializinghtml==1.1.5 +sphinxcontrib-serializinghtml==1.1.10 # via sphinx -sqlparse==0.5.0 +sqlparse==0.5.1 # via # -r requirements/test.txt # django @@ -339,16 +323,7 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # coverage - # django-stubs - # doc8 - # import-linter - # mypy - # pytest -types-pyyaml==6.0.12.20240311 +types-pyyaml==6.0.12.20240724 # via # -r requirements/test.txt # django-stubs @@ -360,20 +335,17 @@ types-requests==2.32.0.20240712 typing-extensions==4.12.2 # via # -r requirements/test.txt - # asgiref # django-stubs # django-stubs-ext # djangorestframework-stubs # edx-opaque-keys # grimp # import-linter - # kombu # mypy # pydata-sphinx-theme tzdata==2024.1 # via # -r requirements/test.txt - # backports-zoneinfo # celery urllib3==2.2.2 # via @@ -390,5 +362,3 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -zipp==3.19.2 - # via importlib-metadata diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 6b0824f9..b544e9f5 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.11 # by the following command: # # make upgrade @@ -8,8 +8,6 @@ build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==8.0.0 - # via build packaging==24.1 # via build pip-tools==7.4.1 @@ -18,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.19.2 - # 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 e155dab5..12caa843 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.11 # by the following command: # # make upgrade @@ -8,7 +8,7 @@ wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==24.1.2 +pip==24.2 # via -r requirements/pip.in -setuptools==70.3.0 +setuptools==71.1.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index ef62946c..4dabc758 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.11 # by the following command: # # make upgrade @@ -13,7 +13,7 @@ asgiref==3.8.1 # -r requirements/test.txt # django # django-stubs -astroid==3.2.3 +astroid==3.2.4 # via # pylint # pylint-celery @@ -21,14 +21,6 @@ attrs==23.2.0 # via -r requirements/test.txt backports-tarfile==1.2.0 # via jaraco-context -backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/test.txt - # celery - # django - # djangorestframework - # kombu billiard==4.2.0 # via # -r requirements/test.txt @@ -82,7 +74,7 @@ coverage[toml]==7.6.0 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.8 +cryptography==43.0.0 # via # -r requirements/test.txt # pyjwt @@ -110,11 +102,11 @@ django-crum==0.7.9 # edx-django-utils django-debug-toolbar==4.4.6 # via -r requirements/test.txt -django-stubs==5.0.2 +django-stubs==5.0.4 # via # -r requirements/test.txt # djangorestframework-stubs -django-stubs-ext==5.0.2 +django-stubs-ext==5.0.4 # via # -r requirements/test.txt # django-stubs @@ -134,7 +126,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 @@ -146,16 +138,12 @@ edx-django-utils==5.14.2 # edx-drf-extensions edx-drf-extensions==10.3.0 # via -r requirements/test.txt -edx-lint==5.3.6 +edx-lint==5.3.7 # via -r requirements/quality.in edx-opaque-keys==2.10.0 # via # -r requirements/test.txt # edx-drf-extensions -exceptiongroup==1.2.2 - # via - # -r requirements/test.txt - # pytest grimp==3.4.1 # via # -r requirements/test.txt @@ -166,12 +154,10 @@ idna==3.7 # requests import-linter==2.0 # via -r requirements/test.txt -importlib-metadata==8.0.0 +importlib-metadata==8.2.0 # via # keyring # twine -importlib-resources==6.4.0 - # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt @@ -216,7 +202,7 @@ more-itertools==10.3.0 # via # jaraco-classes # jaraco-functools -mypy==1.10.1 +mypy==1.11.0 # via -r requirements/test.txt mypy-extensions==1.0.0 # via @@ -271,7 +257,7 @@ pyjwt[crypto]==2.8.0 # -r requirements/test.txt # drf-jwt # edx-drf-extensions -pylint==3.2.5 +pylint==3.2.6 # via # edx-lint # pylint-celery @@ -293,7 +279,7 @@ pynacl==1.5.0 # via # -r requirements/test.txt # edx-django-utils -pytest==8.2.2 +pytest==8.3.2 # via # -r requirements/test.txt # pytest-cov @@ -314,7 +300,7 @@ pyyaml==6.0.1 # via # -r requirements/test.txt # code-annotations -readme-renderer==43.0 +readme-renderer==44.0 # via twine requests==2.32.3 # via @@ -344,7 +330,7 @@ six==1.16.0 # python-dateutil snowballstemmer==2.2.0 # via pydocstyle -sqlparse==0.5.0 +sqlparse==0.5.1 # via # -r requirements/test.txt # django @@ -359,20 +345,11 @@ text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomli==2.0.1 - # via - # -r requirements/test.txt - # coverage - # django-stubs - # import-linter - # mypy - # pylint - # pytest tomlkit==0.13.0 # via pylint twine==5.1.1 # via -r requirements/quality.in -types-pyyaml==6.0.12.20240311 +types-pyyaml==6.0.12.20240724 # via # -r requirements/test.txt # django-stubs @@ -384,22 +361,16 @@ types-requests==2.32.0.20240712 typing-extensions==4.12.2 # via # -r requirements/test.txt - # asgiref - # astroid # django-stubs # django-stubs-ext # djangorestframework-stubs # edx-opaque-keys # grimp # import-linter - # kombu # mypy - # pylint - # rich tzdata==2024.1 # via # -r requirements/test.txt - # backports-zoneinfo # celery urllib3==2.2.2 # via @@ -418,6 +389,4 @@ wcwidth==0.2.13 # -r requirements/test.txt # prompt-toolkit zipp==3.19.2 - # via - # importlib-metadata - # importlib-resources + # via importlib-metadata diff --git a/requirements/test.txt b/requirements/test.txt index 77650108..66f222d4 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.11 # by the following command: # # make upgrade @@ -15,14 +15,6 @@ asgiref==3.8.1 # django-stubs attrs==23.2.0 # via -r requirements/base.txt -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 @@ -70,7 +62,7 @@ coverage[toml]==7.6.0 # via # -r requirements/test.in # pytest-cov -cryptography==42.0.8 +cryptography==43.0.0 # via # -r requirements/base.txt # pyjwt @@ -94,11 +86,11 @@ django-crum==0.7.9 # edx-django-utils django-debug-toolbar==4.4.6 # via -r requirements/test.in -django-stubs==5.0.2 +django-stubs==5.0.4 # via # -r requirements/test.in # djangorestframework-stubs -django-stubs-ext==5.0.2 +django-stubs-ext==5.0.4 # via django-stubs django-waffle==4.1.0 # via @@ -130,8 +122,6 @@ edx-opaque-keys==2.10.0 # via # -r requirements/base.txt # edx-drf-extensions -exceptiongroup==1.2.2 - # via pytest grimp==3.4.1 # via import-linter idna==3.7 @@ -152,7 +142,7 @@ markupsafe==2.1.5 # via jinja2 mock==5.1.0 # via -r requirements/test.in -mypy==1.10.1 +mypy==1.11.0 # via -r requirements/test.in mypy-extensions==1.0.0 # via mypy @@ -195,7 +185,7 @@ pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pytest==8.2.2 +pytest==8.3.2 # via # -r requirements/test.in # pytest-cov @@ -227,7 +217,7 @@ six==1.16.0 # via # -r requirements/base.txt # python-dateutil -sqlparse==0.5.0 +sqlparse==0.5.1 # via # -r requirements/base.txt # django @@ -240,14 +230,7 @@ stevedore==5.2.0 # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomli==2.0.1 - # via - # coverage - # django-stubs - # import-linter - # mypy - # pytest -types-pyyaml==6.0.12.20240311 +types-pyyaml==6.0.12.20240724 # via # django-stubs # djangorestframework-stubs @@ -256,19 +239,16 @@ types-requests==2.32.0.20240712 typing-extensions==4.12.2 # via # -r requirements/base.txt - # asgiref # django-stubs # django-stubs-ext # djangorestframework-stubs # edx-opaque-keys # grimp # import-linter - # kombu # mypy tzdata==2024.1 # via # -r requirements/base.txt - # backports-zoneinfo # celery urllib3==2.2.2 # via diff --git a/setup.py b/setup.py index 22937497..8de60391 100755 --- a/setup.py +++ b/setup.py @@ -78,7 +78,7 @@ def is_requirement(line): ), include_package_data=True, install_requires=load_requirements('requirements/base.in'), - python_requires=">=3.8", + python_requires=">=3.11", license="AGPL 3.0", zip_safe=False, keywords='Python edx', @@ -90,7 +90,6 @@ def is_requirement(line): 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', 'Natural Language :: English', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', ], diff --git a/tox.ini b/tox.ini index c10677f4..babb2706 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,311,312}-django{42}, quality, docs, pii_check, lint-imports +envlist = py{311,312}-django{42}, quality, docs, pii_check, lint-imports [doc8] ; D001 = Line too long