diff --git a/.github/workflows/check-reserved-keywords.yml b/.github/workflows/check-reserved-keywords.yml index ee6440a2..8dc23dc3 100644 --- a/.github/workflows/check-reserved-keywords.yml +++ b/.github/workflows/check-reserved-keywords.yml @@ -15,7 +15,7 @@ jobs: - name: setup python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.11 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf8c3094..15ac556e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-latest] - python-version: ['3.8', '3.11'] + python-version: ['3.11'] toxenv: [django42, quality] steps: @@ -36,7 +36,7 @@ jobs: run: tox - name: Run Coverage - if: matrix.python-version == '3.8' && matrix.toxenv=='django42' + if: matrix.python-version == '3.11' && matrix.toxenv=='django42' uses: codecov/codecov-action@v4 with: flags: unittests @@ -56,7 +56,7 @@ jobs: - name: setup python uses: actions/setup-python@v2 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 94a11e2f..ed0ff513 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -15,7 +15,7 @@ jobs: - name: setup python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.11 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/.github/workflows/verify_changed_contract.yml b/.github/workflows/verify_changed_contract.yml index 02288b4d..9673967c 100644 --- a/.github/workflows/verify_changed_contract.yml +++ b/.github/workflows/verify_changed_contract.yml @@ -24,7 +24,7 @@ jobs: - name: setup python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.11 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/edxval/api.py b/edxval/api.py index 9406abdc..b7455066 100644 --- a/edxval/api.py +++ b/edxval/api.py @@ -1088,7 +1088,9 @@ def create_transcripts_xml(video_id, video_el, resource_fs, static_dir): return dict(xml=video_el, transcripts=transcript_files_map) -def import_from_xml(xml, edx_video_id, resource_fs, static_dir, external_transcripts=None, course_id=None): +def import_from_xml( + xml, edx_video_id, resource_fs, static_dir, external_transcripts=None, course_id=None +): # pylint: disable=too-many-positional-arguments """ Imports data from a video_asset element about the given video_id. If the edx_video_id already exists, then no changes are made. If an unknown @@ -1205,7 +1207,9 @@ def import_from_xml(xml, edx_video_id, resource_fs, static_dir, external_transcr return edx_video_id -def import_transcript_from_fs(edx_video_id, language_code, file_name, provider, resource_fs, static_dir): +def import_transcript_from_fs( + edx_video_id, language_code, file_name, provider, resource_fs, static_dir +): # pylint: disable=too-many-positional-arguments """ Imports transcript file from file system and creates transcript record in DS. diff --git a/edxval/models.py b/edxval/models.py index 03cb4ad0..56b0ac9b 100644 --- a/edxval/models.py +++ b/edxval/models.py @@ -485,7 +485,9 @@ def get_or_none(cls, video_id, language_code): return transcript @classmethod - def create(cls, video, language_code, file_format, content, provider): + def create( + cls, video, language_code, file_format, content, provider + ): # pylint: disable=too-many-positional-arguments """ Create a Video Transcript. diff --git a/edxval/tests/test_api.py b/edxval/tests/test_api.py index e1dfe0fe..75e2eb2e 100644 --- a/edxval/tests/test_api.py +++ b/edxval/tests/test_api.py @@ -2840,7 +2840,9 @@ def test_get_video_transcript_url(self): }, ) @unpack - def test_create_or_update_video_transcript(self, file_data, file_name, file_format, language_code, provider): + def test_create_or_update_video_transcript( + self, file_data, file_name, file_format, language_code, provider + ): # pylint: disable=too-many-positional-arguments """ Verify that `create_or_update_video_transcript` api function updates existing transcript as expected. """ @@ -2897,7 +2899,9 @@ def test_create_or_update_video_transcript(self, file_data, file_name, file_form }, ) @unpack - def test_create_or_update_video_exceptions(self, video_id, file_format, provider, exception, exception_message): + def test_create_or_update_video_exceptions( + self, video_id, file_format, provider, exception, exception_message + ): # pylint: disable=too-many-positional-arguments """ Verify that `create_or_update_video_transcript` api function raise exceptions on invalid values. """ @@ -3015,7 +3019,9 @@ def test_create_video_transcript(self): } ) @unpack - def test_create_video_transcript_exceptions(self, video_id, language_code, file_format, provider, exception_msg): + def test_create_video_transcript_exceptions( + self, video_id, language_code, file_format, provider, exception_msg + ): # pylint: disable=too-many-positional-arguments """ Verify that `create_video_transcript` api function raise exceptions on invalid values. """ diff --git a/edxval/views.py b/edxval/views.py index 16f22284..f382216a 100644 --- a/edxval/views.py +++ b/edxval/views.py @@ -283,7 +283,7 @@ def post(self, request): try: validate_generated_images(generated_images, LIST_MAX_ITEMS) - except Exception as e: + except Exception as e: # pylint: disable=broad-exception-caught return Response( status=status.HTTP_400_BAD_REQUEST, data={'message': str(e)} diff --git a/pylintrc b/pylintrc index 4a4cf450..3d02a0de 100644 --- a/pylintrc +++ b/pylintrc @@ -64,7 +64,7 @@ # SERIOUSLY. # # ------------------------------ -# Generated by edx-lint version: 5.3.0 +# Generated by edx-lint version: 5.3.7 # ------------------------------ [MASTER] ignore = migrations @@ -259,6 +259,7 @@ enable = useless-suppression, disable = bad-indentation, + broad-exception-raised, consider-using-f-string, duplicate-code, file-ignored, @@ -380,6 +381,6 @@ ext-import-graph = int-import-graph = [EXCEPTIONS] -overgeneral-exceptions = Exception +overgeneral-exceptions = builtins.Exception -# e4144201a3f25df503e5cbb5cc51147c12a2d137 +# 9e382112fd455855f6d0f08cef2bdb5077da2d63 diff --git a/requirements/ci.txt b/requirements/ci.txt index 93f09be3..1e487003 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -10,15 +10,15 @@ certifi==2024.8.30 # via requests chardet==5.2.0 # via tox -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests colorama==0.4.6 # via tox -coverage[toml]==7.6.1 +coverage[toml]==7.6.4 # via coveralls coveralls==4.0.1 # via -r requirements/ci.in -distlib==0.3.8 +distlib==0.3.9 # via virtualenv docopt==0.6.2 # via coveralls @@ -42,9 +42,9 @@ pyproject-api==1.8.0 # via tox requests==2.32.3 # via coveralls -tox==4.20.0 +tox==4.23.2 # via -r requirements/ci.in urllib3==2.2.3 # via requests -virtualenv==20.26.5 +virtualenv==20.27.1 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 31879f79..cadbfbd6 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -29,3 +29,7 @@ django-simple-history==3.0.0 # This can be unpinned once https://github.com/openedx/edx-platform/issues/34586 # has been resolved and edx-platform is running with pymongo>=4.4.0 event-tracking<2.4.1 + +# Cause: https://github.com/openedx/edx-lint/issues/458 +# This can be unpinned once https://github.com/openedx/edx-lint/issues/459 has been resolved. +pip<24.3 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index bf481158..ee0577a1 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -11,13 +11,6 @@ # Common constraints for edx repos -c common_constraints.txt -# For python greater than or equal to 3.9 backports.zoneinfo is causing failures -backports.zoneinfo;python_version<"3.9" - -# Python 3.8 is not supported by newer versions of docutils. Remove this pin once -# python 3.8 is deprecated -docutils==0.20.1 - # 5.4.0 is breaking for Python 3.8 and 3.11 CI checks with error # importlib.resources' has no attribute 'files' # To be unpinned once edx-val moves to Python 3.12 diff --git a/requirements/dev.txt b/requirements/dev.txt index c4101914..fdc7441d 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -6,13 +6,13 @@ # annotated-types==0.7.0 # via pydantic -anyio==4.5.0 +anyio==4.6.2.post1 # via starlette appdirs==1.4.4 # via fs asgiref==3.8.1 # via django -astroid==3.2.4 +astroid==3.3.5 # via # pylint # pylint-celery @@ -32,7 +32,7 @@ chardet==5.2.0 # diff-cover # pysrt # tox -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests click==8.1.7 # via @@ -50,24 +50,22 @@ code-annotations==1.8.0 # edx-toggles colorama==0.4.6 # via tox -coverage[toml]==7.6.1 +coverage[toml]==7.6.4 # via # -r requirements/test.in # coveralls # pytest-cov coveralls==4.0.1 # via -r requirements/ci.in -cryptography==43.0.1 - # via - # pyjwt - # secretstorage +cryptography==43.0.3 + # via pyjwt ddt==1.7.2 # via -r requirements/test.in diff-cover==9.2.0 # via -r requirements/dev.in -dill==0.3.8 +dill==0.3.9 # via pylint -distlib==0.3.8 +distlib==0.3.9 # via virtualenv django==4.2.16 # via @@ -100,23 +98,21 @@ djangorestframework==3.15.2 # via # drf-jwt # edx-drf-extensions -dnspython==2.6.1 +dnspython==2.7.0 # via pymongo docopt==0.6.2 # via coveralls -docutils==0.20.1 - # via - # -c requirements/constraints.txt - # readme-renderer +docutils==0.21.2 + # via readme-renderer drf-jwt==1.19.2 # via edx-drf-extensions edx-django-release-util==1.4.0 # via -r requirements/base.in -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via # edx-drf-extensions # edx-toggles -edx-drf-extensions==10.4.0 +edx-drf-extensions==10.5.0 # via -r requirements/base.in edx-lint==5.3.7 # via @@ -126,7 +122,7 @@ edx-opaque-keys==2.11.0 # via edx-drf-extensions edx-toggles==5.2.0 # via -r requirements/base.in -fastapi==0.115.0 +fastapi==0.115.4 # via pact-python filelock==3.16.1 # via @@ -155,23 +151,19 @@ jaraco-classes==3.4.0 # via keyring jaraco-context==6.0.1 # via keyring -jaraco-functools==4.0.2 +jaraco-functools==4.1.0 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.4 # via # code-annotations # diff-cover -keyring==25.4.0 +keyring==25.5.0 # via twine lxml==5.3.0 # via -r requirements/base.in markdown-it-py==3.0.0 # via rich -markupsafe==2.1.5 +markupsafe==3.0.2 # via jinja2 mccabe==0.7.0 # via pylint @@ -185,7 +177,7 @@ more-itertools==10.5.0 # jaraco-functools multidict==6.1.0 # via yarl -newrelic==9.13.0 +newrelic==10.2.0 # via edx-django-utils nh3==0.2.18 # via readme-renderer @@ -194,11 +186,11 @@ packaging==24.1 # pyproject-api # pytest # tox -pact-python==2.2.1 +pact-python==2.2.2 # via -r requirements/test.in pbr==6.1.0 # via stevedore -pillow==10.4.0 +pillow==11.0.0 # via -r requirements/base.in pkginfo==1.10.0 # via twine @@ -212,7 +204,9 @@ pluggy==1.5.0 # diff-cover # pytest # tox -psutil==6.0.0 +propcache==0.2.0 + # via yarl +psutil==6.1.0 # via # edx-django-utils # pact-python @@ -235,7 +229,7 @@ pyjwt[crypto]==2.9.0 # via # drf-jwt # edx-drf-extensions -pylint==3.2.7 +pylint==3.3.1 # via # edx-lint # pylint-celery @@ -243,13 +237,13 @@ pylint==3.2.7 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.5.5 +pylint-django==2.6.1 # via edx-lint pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pymongo==4.9.1 +pymongo==4.10.1 # via edx-opaque-keys pynacl==1.5.0 # via edx-django-utils @@ -261,7 +255,7 @@ pytest==8.3.3 # via # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/test.in pytest-django==4.9.0 # via -r requirements/test.in @@ -272,7 +266,7 @@ pyyaml==6.0.2 # code-annotations # edx-django-release-util # responses -readme-renderer==43.0 +readme-renderer==44.0 # via twine requests==2.32.3 # via @@ -288,10 +282,8 @@ responses==0.25.3 # via -r requirements/test.in rfc3986==2.0.0 # via twine -rich==13.8.1 +rich==13.9.3 # via twine -secretstorage==3.3.3 - # via keyring semantic-version==2.10.0 # via edx-drf-extensions six==1.16.0 @@ -306,7 +298,7 @@ snowballstemmer==2.2.0 # via pydocstyle sqlparse==0.5.1 # via django -starlette==0.38.5 +starlette==0.41.2 # via fastapi stevedore==5.3.0 # via @@ -317,7 +309,7 @@ text-unidecode==1.3 # via python-slugify tomlkit==0.13.2 # via pylint -tox==4.20.0 +tox==4.23.2 # via -r requirements/ci.in twine==5.1.1 # via -r requirements/quality.in @@ -332,11 +324,11 @@ urllib3==2.2.3 # requests # responses # twine -uvicorn==0.30.6 +uvicorn==0.32.0 # via pact-python -virtualenv==20.26.5 +virtualenv==20.27.1 # via tox -yarl==1.11.1 +yarl==1.17.1 # via pact-python zipp==3.20.2 # via importlib-metadata diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 84acdf9b..db6c4632 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,7 +4,7 @@ # # make upgrade # -build==1.2.2 +build==1.2.2.post1 # via pip-tools click==8.1.7 # via pip-tools @@ -12,7 +12,7 @@ packaging==24.1 # via build pip-tools==7.4.1 # via -r requirements/pip-tools.in -pyproject-hooks==1.1.0 +pyproject-hooks==1.2.0 # via # build # pip-tools diff --git a/requirements/pip.txt b/requirements/pip.txt index 36c777e2..4996fad1 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -9,6 +9,8 @@ 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==75.1.0 + # via + # -c requirements/common_constraints.txt + # -r requirements/pip.in +setuptools==75.3.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index e19cf8ae..603ab42f 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -6,13 +6,13 @@ # annotated-types==0.7.0 # via pydantic -anyio==4.5.0 +anyio==4.6.2.post1 # via starlette appdirs==1.4.4 # via fs asgiref==3.8.1 # via django -astroid==3.2.4 +astroid==3.3.5 # via # pylint # pylint-celery @@ -27,7 +27,7 @@ cffi==1.17.1 # pynacl chardet==5.2.0 # via pysrt -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests click==8.1.7 # via @@ -43,17 +43,15 @@ code-annotations==1.8.0 # via # edx-lint # edx-toggles -coverage[toml]==7.6.1 +coverage[toml]==7.6.4 # via # -r requirements/test.in # pytest-cov -cryptography==43.0.1 - # via - # pyjwt - # secretstorage +cryptography==43.0.3 + # via pyjwt ddt==1.7.2 # via -r requirements/test.in -dill==0.3.8 +dill==0.3.9 # via pylint django==4.2.16 # via @@ -86,21 +84,19 @@ djangorestframework==3.15.2 # via # drf-jwt # edx-drf-extensions -dnspython==2.6.1 +dnspython==2.7.0 # via pymongo -docutils==0.20.1 - # via - # -c requirements/constraints.txt - # readme-renderer +docutils==0.21.2 + # via readme-renderer drf-jwt==1.19.2 # via edx-drf-extensions edx-django-release-util==1.4.0 # via -r requirements/base.in -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via # edx-drf-extensions # edx-toggles -edx-drf-extensions==10.4.0 +edx-drf-extensions==10.5.0 # via -r requirements/base.in edx-lint==5.3.7 # via @@ -110,7 +106,7 @@ edx-opaque-keys==2.11.0 # via edx-drf-extensions edx-toggles==5.2.0 # via -r requirements/base.in -fastapi==0.115.0 +fastapi==0.115.4 # via pact-python fs==2.4.16 # via -r requirements/test.in @@ -135,21 +131,17 @@ jaraco-classes==3.4.0 # via keyring jaraco-context==6.0.1 # via keyring -jaraco-functools==4.0.2 +jaraco-functools==4.1.0 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.4 # via code-annotations -keyring==25.4.0 +keyring==25.5.0 # via twine lxml==5.3.0 # via -r requirements/base.in markdown-it-py==3.0.0 # via rich -markupsafe==2.1.5 +markupsafe==3.0.2 # via jinja2 mccabe==0.7.0 # via pylint @@ -163,17 +155,17 @@ more-itertools==10.5.0 # jaraco-functools multidict==6.1.0 # via yarl -newrelic==9.13.0 +newrelic==10.2.0 # via edx-django-utils nh3==0.2.18 # via readme-renderer packaging==24.1 # via pytest -pact-python==2.2.1 +pact-python==2.2.2 # via -r requirements/test.in pbr==6.1.0 # via stevedore -pillow==10.4.0 +pillow==11.0.0 # via -r requirements/base.in pkginfo==1.10.0 # via twine @@ -181,7 +173,9 @@ platformdirs==4.3.6 # via pylint pluggy==1.5.0 # via pytest -psutil==6.0.0 +propcache==0.2.0 + # via yarl +psutil==6.1.0 # via # edx-django-utils # pact-python @@ -203,7 +197,7 @@ pyjwt[crypto]==2.9.0 # via # drf-jwt # edx-drf-extensions -pylint==3.2.7 +pylint==3.3.1 # via # edx-lint # pylint-celery @@ -211,13 +205,13 @@ pylint==3.2.7 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.5.5 +pylint-django==2.6.1 # via edx-lint pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pymongo==4.9.1 +pymongo==4.10.1 # via edx-opaque-keys pynacl==1.5.0 # via edx-django-utils @@ -227,7 +221,7 @@ pytest==8.3.3 # via # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/test.in pytest-django==4.9.0 # via -r requirements/test.in @@ -238,7 +232,7 @@ pyyaml==6.0.2 # code-annotations # edx-django-release-util # responses -readme-renderer==43.0 +readme-renderer==44.0 # via twine requests==2.32.3 # via @@ -253,10 +247,8 @@ responses==0.25.3 # via -r requirements/test.in rfc3986==2.0.0 # via twine -rich==13.8.1 +rich==13.9.3 # via twine -secretstorage==3.3.3 - # via keyring semantic-version==2.10.0 # via edx-drf-extensions six==1.16.0 @@ -271,7 +263,7 @@ snowballstemmer==2.2.0 # via pydocstyle sqlparse==0.5.1 # via django -starlette==0.38.5 +starlette==0.41.2 # via fastapi stevedore==5.3.0 # via @@ -295,9 +287,9 @@ urllib3==2.2.3 # requests # responses # twine -uvicorn==0.30.6 +uvicorn==0.32.0 # via pact-python -yarl==1.11.1 +yarl==1.17.1 # via pact-python zipp==3.20.2 # via importlib-metadata diff --git a/requirements/test.txt b/requirements/test.txt index b6ae0d7f..b2557837 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -6,7 +6,7 @@ # annotated-types==0.7.0 # via pydantic -anyio==4.5.0 +anyio==4.6.2.post1 # via starlette appdirs==1.4.4 # via fs @@ -21,7 +21,7 @@ cffi==1.17.1 # pynacl chardet==5.2.0 # via pysrt -charset-normalizer==3.3.2 +charset-normalizer==3.4.0 # via requests click==8.1.7 # via @@ -31,11 +31,11 @@ click==8.1.7 # uvicorn code-annotations==1.8.0 # via edx-toggles -coverage[toml]==7.6.1 +coverage[toml]==7.6.4 # via # -r requirements/test.in # pytest-cov -cryptography==43.0.1 +cryptography==43.0.3 # via pyjwt ddt==1.7.2 # via -r requirements/test.in @@ -69,23 +69,23 @@ djangorestframework==3.15.2 # via # drf-jwt # edx-drf-extensions -dnspython==2.6.1 +dnspython==2.7.0 # via pymongo drf-jwt==1.19.2 # via edx-drf-extensions edx-django-release-util==1.4.0 # via -r requirements/base.in -edx-django-utils==5.15.0 +edx-django-utils==7.0.0 # via # edx-drf-extensions # edx-toggles -edx-drf-extensions==10.4.0 +edx-drf-extensions==10.5.0 # via -r requirements/base.in edx-opaque-keys==2.11.0 # via edx-drf-extensions edx-toggles==5.2.0 # via -r requirements/base.in -fastapi==0.115.0 +fastapi==0.115.4 # via pact-python fs==2.4.16 # via -r requirements/test.in @@ -102,25 +102,27 @@ jinja2==3.1.4 # via code-annotations lxml==5.3.0 # via -r requirements/base.in -markupsafe==2.1.5 +markupsafe==3.0.2 # via jinja2 mock==5.1.0 # via -r requirements/test.in multidict==6.1.0 # via yarl -newrelic==9.13.0 +newrelic==10.2.0 # via edx-django-utils packaging==24.1 # via pytest -pact-python==2.2.1 +pact-python==2.2.2 # via -r requirements/test.in pbr==6.1.0 # via stevedore -pillow==10.4.0 +pillow==11.0.0 # via -r requirements/base.in pluggy==1.5.0 # via pytest -psutil==6.0.0 +propcache==0.2.0 + # via yarl +psutil==6.1.0 # via # edx-django-utils # pact-python @@ -134,7 +136,7 @@ pyjwt[crypto]==2.9.0 # via # drf-jwt # edx-drf-extensions -pymongo==4.9.1 +pymongo==4.10.1 # via edx-opaque-keys pynacl==1.5.0 # via edx-django-utils @@ -144,7 +146,7 @@ pytest==8.3.3 # via # pytest-cov # pytest-django -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via -r requirements/test.in pytest-django==4.9.0 # via -r requirements/test.in @@ -173,7 +175,7 @@ sniffio==1.3.1 # via anyio sqlparse==0.5.1 # via django -starlette==0.38.5 +starlette==0.41.2 # via fastapi stevedore==5.3.0 # via @@ -192,9 +194,9 @@ urllib3==2.2.3 # via # requests # responses -uvicorn==0.30.6 +uvicorn==0.32.0 # via pact-python -yarl==1.11.1 +yarl==1.17.1 # via pact-python # The following packages are considered to be unsafe in a requirements file: diff --git a/setup.py b/setup.py index efc43dcb..b51c9efe 100644 --- a/setup.py +++ b/setup.py @@ -86,9 +86,9 @@ def get_version(*file_paths): 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.11', 'Framework :: Django', - 'Framework :: Django :: 3.2', + 'Framework :: Django :: 4.2', ], packages=PACKAGES, install_requires=load_requirements('requirements/base.in'),