diff --git a/requirements/ci.txt b/requirements/ci.txt index 959df04c..4395f7bb 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,10 +1,10 @@ # -# 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 # -cachetools==5.3.3 +cachetools==5.4.0 # via tox certifi==2024.7.4 # via requests @@ -14,7 +14,7 @@ charset-normalizer==3.3.2 # via requests colorama==0.4.6 # via tox -coverage[toml]==7.6.0 +coverage[toml]==7.6.1 # via coveralls coveralls==4.0.1 # via -r requirements/ci.in @@ -42,12 +42,7 @@ pyproject-api==1.7.1 # via tox requests==2.32.3 # via coveralls -tomli==2.0.1 - # via - # coverage - # pyproject-api - # tox -tox==4.16.0 +tox==4.17.1 # via -r requirements/ci.in urllib3==2.2.2 # via requests diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index e3bf8eae..b957ec4c 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -17,6 +17,7 @@ Django<5.0 # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html +# See https://github.com/openedx/edx-platform/issues/35126 for more info elasticsearch<7.14.0 # django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected @@ -30,3 +31,10 @@ django-simple-history==3.0.0 # So we need to pin it globally, for now. # Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407 importlib-metadata<7 + +# Cause: https://github.com/openedx/event-tracking/pull/290 +# event-tracking 2.4.1 upgrades to pymongo 4.4.0 which is not supported on edx-platform. +# We will pin event-tracking to do not break existing installations +# 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 diff --git a/requirements/dev.txt b/requirements/dev.txt index 8b38741a..0063b326 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 @@ -7,33 +7,22 @@ annotated-types==0.7.0 # via pydantic anyio==4.4.0 - # via - # httpx - # starlette - # watchfiles + # via starlette appdirs==1.4.4 # via fs asgiref==3.8.1 # via django -astroid==3.2.3 +astroid==3.2.4 # via # pylint # pylint-celery backports-tarfile==1.2.0 # via jaraco-context -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # django - # djangorestframework -cachetools==5.3.3 +cachetools==5.4.0 # via tox certifi==2024.7.4 - # via - # httpcore - # httpx - # requests -cffi==1.16.0 + # via requests +cffi==1.17.0 # via # cryptography # pact-python @@ -52,7 +41,6 @@ click==8.1.7 # edx-django-utils # edx-lint # pact-python - # typer # uvicorn click-log==0.4.0 # via edx-lint @@ -62,26 +50,26 @@ code-annotations==1.8.0 # edx-toggles colorama==0.4.6 # via tox -coverage[toml]==7.6.0 +coverage[toml]==7.6.1 # via # -r requirements/test.in # coveralls # pytest-cov coveralls==4.0.1 # via -r requirements/ci.in -cryptography==42.0.8 +cryptography==43.0.0 # via # pyjwt # secretstorage ddt==1.7.2 # via -r requirements/test.in -diff-cover==9.1.0 +diff-cover==9.1.1 # via -r requirements/dev.in dill==0.3.8 # via pylint distlib==0.3.8 # via virtualenv -django==4.2.14 +django==4.2.15 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -113,39 +101,29 @@ djangorestframework==3.15.2 # drf-jwt # edx-drf-extensions dnspython==2.6.1 - # via - # email-validator - # pymongo + # via pymongo docopt==0.6.2 # via coveralls -docutils==0.20.1 +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.14.2 +edx-django-utils==5.15.0 # via # edx-drf-extensions # edx-toggles edx-drf-extensions==10.3.0 # via -r requirements/base.in -edx-lint==5.3.6 +edx-lint==5.3.7 # via -r requirements/quality.in edx-opaque-keys==2.10.0 # via edx-drf-extensions edx-toggles==5.2.0 # via -r requirements/base.in -email-validator==2.2.0 - # via fastapi -exceptiongroup==1.2.1 - # via - # anyio - # pytest -fastapi==0.111.0 +fastapi==0.112.0 # via pact-python -fastapi-cli==0.0.4 - # via fastapi filelock==3.15.4 # via # tox @@ -153,20 +131,10 @@ filelock==3.15.4 fs==2.4.16 # via -r requirements/test.in h11==0.14.0 - # via - # httpcore - # uvicorn -httpcore==1.0.5 - # via httpx -httptools==0.6.1 # via uvicorn -httpx==0.27.0 - # via fastapi idna==3.7 # via # anyio - # email-validator - # httpx # requests # yarl importlib-metadata==6.11.0 @@ -174,8 +142,6 @@ importlib-metadata==6.11.0 # -c requirements/common_constraints.txt # keyring # twine -importlib-resources==6.4.0 - # via keyring iniconfig==2.0.0 # via pytest isort==5.13.2 @@ -186,7 +152,7 @@ jaraco-classes==3.4.0 # via keyring jaraco-context==5.3.0 # via keyring -jaraco-functools==4.0.1 +jaraco-functools==4.0.2 # via keyring jeepney==0.8.0 # via @@ -196,8 +162,7 @@ jinja2==3.1.4 # via # code-annotations # diff-cover - # fastapi -keyring==25.2.1 +keyring==25.3.0 # via twine lxml==5.2.2 # via -r requirements/base.in @@ -211,24 +176,22 @@ mdurl==0.1.2 # via markdown-it-py mock==5.1.0 # via -r requirements/test.in -more-itertools==10.3.0 +more-itertools==10.4.0 # via # jaraco-classes # jaraco-functools multidict==6.0.5 # via yarl -newrelic==9.12.0 +newrelic==9.13.0 # via edx-django-utils nh3==0.2.18 # via readme-renderer -orjson==3.10.6 - # via fastapi packaging==24.1 # via # pyproject-api # pytest # tox -pact-python==2.2.0 +pact-python==2.2.1 # via -r requirements/test.in pbr==6.0.0 # via stevedore @@ -246,11 +209,11 @@ pluggy==1.5.0 # diff-cover # pytest # tox -psutil==5.9.8 +psutil==6.0.0 # via # edx-django-utils # pact-python -pycodestyle==2.12.0 +pycodestyle==2.12.1 # via -r requirements/quality.in pycparser==2.22 # via cffi @@ -265,11 +228,11 @@ pygments==2.18.0 # diff-cover # readme-renderer # rich -pyjwt[crypto]==2.8.0 +pyjwt[crypto]==2.9.0 # via # drf-jwt # edx-drf-extensions -pylint==3.2.5 +pylint==3.2.6 # via # edx-lint # pylint-celery @@ -291,7 +254,7 @@ pyproject-api==1.7.1 # via tox pysrt==1.1.2 # via -r requirements/base.in -pytest==8.2.2 +pytest==8.3.2 # via # pytest-cov # pytest-django @@ -299,19 +262,14 @@ pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -python-dotenv==1.0.1 - # via uvicorn -python-multipart==0.0.9 - # via fastapi python-slugify==8.0.4 # via code-annotations -pyyaml==6.0.1 +pyyaml==6.0.2 # via # code-annotations # edx-django-release-util # responses - # uvicorn -readme-renderer==43.0 +readme-renderer==44.0 # via twine requests==2.32.3 # via @@ -328,15 +286,11 @@ responses==0.25.3 rfc3986==2.0.0 # via twine rich==13.7.1 - # via - # twine - # typer + # via twine secretstorage==3.3.3 # via keyring semantic-version==2.10.0 # via edx-drf-extensions -shellingham==1.5.4 - # via typer six==1.16.0 # via # edx-django-release-util @@ -344,12 +298,10 @@ six==1.16.0 # fs # pact-python sniffio==1.3.1 - # via - # anyio - # httpx + # via anyio snowballstemmer==2.2.0 # via pydocstyle -sqlparse==0.5.0 +sqlparse==0.5.1 # via django starlette==0.37.2 # via fastapi @@ -360,62 +312,31 @@ stevedore==5.2.0 # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomli==2.0.1 - # via - # coverage - # pylint - # pyproject-api - # pytest - # tox tomlkit==0.13.0 # via pylint -tox==4.16.0 +tox==4.17.1 # via -r requirements/ci.in twine==5.1.1 # via -r requirements/quality.in -typer==0.12.3 - # via fastapi-cli typing-extensions==4.12.2 # via - # annotated-types - # anyio - # asgiref - # astroid # edx-opaque-keys # fastapi - # pact-python # pydantic # pydantic-core - # pylint - # rich - # starlette - # typer - # uvicorn -ujson==5.10.0 - # via fastapi urllib3==2.2.2 # via # requests # responses # twine -uvicorn[standard]==0.30.1 - # via - # fastapi - # pact-python -uvloop==0.19.0 - # via uvicorn +uvicorn==0.30.5 + # via pact-python virtualenv==20.26.3 # via tox -watchfiles==0.22.0 - # via uvicorn -websockets==12.0 - # via uvicorn yarl==1.9.4 # via pact-python zipp==3.19.2 - # via - # importlib-metadata - # importlib-resources + # via importlib-metadata # 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 f577da4d..fedf88df 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,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.1 # 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 +wheel==0.44.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..7a6ada8e 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,14 +1,14 @@ # -# 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 # -wheel==0.43.0 +wheel==0.44.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==72.1.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 9d09df8e..eb6ca28d 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 @@ -7,31 +7,20 @@ annotated-types==0.7.0 # via pydantic anyio==4.4.0 - # via - # httpx - # starlette - # watchfiles + # via starlette appdirs==1.4.4 # via fs asgiref==3.8.1 # via django -astroid==3.2.3 +astroid==3.2.4 # via # pylint # pylint-celery backports-tarfile==1.2.0 # via jaraco-context -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # django - # djangorestframework certifi==2024.7.4 - # via - # httpcore - # httpx - # requests -cffi==1.16.0 + # via requests +cffi==1.17.0 # via # cryptography # pact-python @@ -47,7 +36,6 @@ click==8.1.7 # edx-django-utils # edx-lint # pact-python - # typer # uvicorn click-log==0.4.0 # via edx-lint @@ -55,11 +43,11 @@ code-annotations==1.8.0 # via # edx-lint # edx-toggles -coverage[toml]==7.6.0 +coverage[toml]==7.6.1 # via # -r requirements/test.in # pytest-cov -cryptography==42.0.8 +cryptography==43.0.0 # via # pyjwt # secretstorage @@ -67,7 +55,7 @@ ddt==1.7.2 # via -r requirements/test.in dill==0.3.8 # via pylint -django==4.2.14 +django==4.2.15 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -99,54 +87,34 @@ djangorestframework==3.15.2 # drf-jwt # edx-drf-extensions dnspython==2.6.1 - # via - # email-validator - # pymongo -docutils==0.20.1 + # via pymongo +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.14.2 +edx-django-utils==5.15.0 # via # edx-drf-extensions # edx-toggles edx-drf-extensions==10.3.0 # via -r requirements/base.in -edx-lint==5.3.6 +edx-lint==5.3.7 # via -r requirements/quality.in edx-opaque-keys==2.10.0 # via edx-drf-extensions edx-toggles==5.2.0 # via -r requirements/base.in -email-validator==2.2.0 - # via fastapi -exceptiongroup==1.2.1 - # via - # anyio - # pytest -fastapi==0.111.0 +fastapi==0.112.0 # via pact-python -fastapi-cli==0.0.4 - # via fastapi fs==2.4.16 # via -r requirements/test.in h11==0.14.0 - # via - # httpcore - # uvicorn -httpcore==1.0.5 - # via httpx -httptools==0.6.1 # via uvicorn -httpx==0.27.0 - # via fastapi idna==3.7 # via # anyio - # email-validator - # httpx # requests # yarl importlib-metadata==6.11.0 @@ -154,8 +122,6 @@ importlib-metadata==6.11.0 # -c requirements/common_constraints.txt # keyring # twine -importlib-resources==6.4.0 - # via keyring iniconfig==2.0.0 # via pytest isort==5.13.2 @@ -166,17 +132,15 @@ jaraco-classes==3.4.0 # via keyring jaraco-context==5.3.0 # via keyring -jaraco-functools==4.0.1 +jaraco-functools==4.0.2 # via keyring jeepney==0.8.0 # via # keyring # secretstorage jinja2==3.1.4 - # via - # code-annotations - # fastapi -keyring==25.2.1 + # via code-annotations +keyring==25.3.0 # via twine lxml==5.2.2 # via -r requirements/base.in @@ -190,21 +154,19 @@ mdurl==0.1.2 # via markdown-it-py mock==5.1.0 # via -r requirements/test.in -more-itertools==10.3.0 +more-itertools==10.4.0 # via # jaraco-classes # jaraco-functools multidict==6.0.5 # via yarl -newrelic==9.12.0 +newrelic==9.13.0 # via edx-django-utils nh3==0.2.18 # via readme-renderer -orjson==3.10.6 - # via fastapi packaging==24.1 # via pytest -pact-python==2.2.0 +pact-python==2.2.1 # via -r requirements/test.in pbr==6.0.0 # via stevedore @@ -216,11 +178,11 @@ platformdirs==4.2.2 # via pylint pluggy==1.5.0 # via pytest -psutil==5.9.8 +psutil==6.0.0 # via # edx-django-utils # pact-python -pycodestyle==2.12.0 +pycodestyle==2.12.1 # via -r requirements/quality.in pycparser==2.22 # via cffi @@ -234,11 +196,11 @@ pygments==2.18.0 # via # readme-renderer # rich -pyjwt[crypto]==2.8.0 +pyjwt[crypto]==2.9.0 # via # drf-jwt # edx-drf-extensions -pylint==3.2.5 +pylint==3.2.6 # via # edx-lint # pylint-celery @@ -258,7 +220,7 @@ pynacl==1.5.0 # via edx-django-utils pysrt==1.1.2 # via -r requirements/base.in -pytest==8.2.2 +pytest==8.3.2 # via # pytest-cov # pytest-django @@ -266,19 +228,14 @@ pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -python-dotenv==1.0.1 - # via uvicorn -python-multipart==0.0.9 - # via fastapi python-slugify==8.0.4 # via code-annotations -pyyaml==6.0.1 +pyyaml==6.0.2 # via # code-annotations # edx-django-release-util # responses - # uvicorn -readme-renderer==43.0 +readme-renderer==44.0 # via twine requests==2.32.3 # via @@ -294,15 +251,11 @@ responses==0.25.3 rfc3986==2.0.0 # via twine rich==13.7.1 - # via - # twine - # typer + # via twine secretstorage==3.3.3 # via keyring semantic-version==2.10.0 # via edx-drf-extensions -shellingham==1.5.4 - # via typer six==1.16.0 # via # edx-django-release-util @@ -310,12 +263,10 @@ six==1.16.0 # fs # pact-python sniffio==1.3.1 - # via - # anyio - # httpx + # via anyio snowballstemmer==2.2.0 # via pydocstyle -sqlparse==0.5.0 +sqlparse==0.5.1 # via django starlette==0.37.2 # via fastapi @@ -326,56 +277,27 @@ stevedore==5.2.0 # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomli==2.0.1 - # via - # coverage - # pylint - # pytest tomlkit==0.13.0 # via pylint twine==5.1.1 # via -r requirements/quality.in -typer==0.12.3 - # via fastapi-cli typing-extensions==4.12.2 # via - # annotated-types - # anyio - # asgiref - # astroid # edx-opaque-keys # fastapi - # pact-python # pydantic # pydantic-core - # pylint - # rich - # starlette - # typer - # uvicorn -ujson==5.10.0 - # via fastapi urllib3==2.2.2 # via # requests # responses # twine -uvicorn[standard]==0.30.1 - # via - # fastapi - # pact-python -uvloop==0.19.0 - # via uvicorn -watchfiles==0.22.0 - # via uvicorn -websockets==12.0 - # via uvicorn +uvicorn==0.30.5 + # via pact-python yarl==1.9.4 # via pact-python zipp==3.19.2 - # via - # importlib-metadata - # importlib-resources + # 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 c8cfcffb..9d2e7959 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 @@ -7,25 +7,14 @@ annotated-types==0.7.0 # via pydantic anyio==4.4.0 - # via - # httpx - # starlette - # watchfiles + # via starlette appdirs==1.4.4 # via fs asgiref==3.8.1 # via django -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # django - # djangorestframework certifi==2024.7.4 - # via - # httpcore - # httpx - # requests -cffi==1.16.0 + # via requests +cffi==1.17.0 # via # cryptography # pact-python @@ -39,15 +28,14 @@ click==8.1.7 # code-annotations # edx-django-utils # pact-python - # typer # uvicorn code-annotations==1.8.0 # via edx-toggles -coverage[toml]==7.6.0 +coverage[toml]==7.6.1 # via # -r requirements/test.in # pytest-cov -cryptography==42.0.8 +cryptography==43.0.0 # via pyjwt ddt==1.7.2 # via -r requirements/test.in @@ -82,14 +70,12 @@ djangorestframework==3.15.2 # drf-jwt # edx-drf-extensions dnspython==2.6.1 - # via - # email-validator - # pymongo + # 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.14.2 +edx-django-utils==5.15.0 # via # edx-drf-extensions # edx-toggles @@ -99,60 +85,34 @@ edx-opaque-keys==2.10.0 # via edx-drf-extensions edx-toggles==5.2.0 # via -r requirements/base.in -email-validator==2.2.0 - # via fastapi -exceptiongroup==1.2.1 - # via - # anyio - # pytest -fastapi==0.111.0 +fastapi==0.112.0 # via pact-python -fastapi-cli==0.0.4 - # via fastapi fs==2.4.16 # via -r requirements/test.in h11==0.14.0 - # via - # httpcore - # uvicorn -httpcore==1.0.5 - # via httpx -httptools==0.6.1 # via uvicorn -httpx==0.27.0 - # via fastapi idna==3.7 # via # anyio - # email-validator - # httpx # requests # yarl iniconfig==2.0.0 # via pytest jinja2==3.1.4 - # via - # code-annotations - # fastapi + # via code-annotations lxml==5.2.2 # via -r requirements/base.in -markdown-it-py==3.0.0 - # via rich markupsafe==2.1.5 # via jinja2 -mdurl==0.1.2 - # via markdown-it-py mock==5.1.0 # via -r requirements/test.in multidict==6.0.5 # via yarl -newrelic==9.12.0 +newrelic==9.13.0 # via edx-django-utils -orjson==3.10.6 - # via fastapi packaging==24.1 # via pytest -pact-python==2.2.0 +pact-python==2.2.1 # via -r requirements/test.in pbr==6.0.0 # via stevedore @@ -160,7 +120,7 @@ pillow==10.4.0 # via -r requirements/base.in pluggy==1.5.0 # via pytest -psutil==5.9.8 +psutil==6.0.0 # via # edx-django-utils # pact-python @@ -170,9 +130,7 @@ pydantic==2.8.2 # via fastapi pydantic-core==2.20.1 # via pydantic -pygments==2.18.0 - # via rich -pyjwt[crypto]==2.8.0 +pyjwt[crypto]==2.9.0 # via # drf-jwt # edx-drf-extensions @@ -182,7 +140,7 @@ pynacl==1.5.0 # via edx-django-utils pysrt==1.1.2 # via -r requirements/base.in -pytest==8.2.2 +pytest==8.3.2 # via # pytest-cov # pytest-django @@ -190,18 +148,13 @@ pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -python-dotenv==1.0.1 - # via uvicorn -python-multipart==0.0.9 - # via fastapi python-slugify==8.0.4 # via code-annotations -pyyaml==6.0.1 +pyyaml==6.0.2 # via # code-annotations # edx-django-release-util # responses - # uvicorn requests==2.32.3 # via # edx-drf-extensions @@ -209,22 +162,16 @@ requests==2.32.3 # responses responses==0.25.3 # via -r requirements/test.in -rich==13.7.1 - # via typer semantic-version==2.10.0 # via edx-drf-extensions -shellingham==1.5.4 - # via typer six==1.16.0 # via # edx-django-release-util # fs # pact-python sniffio==1.3.1 - # via - # anyio - # httpx -sqlparse==0.5.0 + # via anyio +sqlparse==0.5.1 # via django starlette==0.37.2 # via fastapi @@ -235,42 +182,18 @@ stevedore==5.2.0 # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomli==2.0.1 - # via - # coverage - # pytest -typer==0.12.3 - # via fastapi-cli typing-extensions==4.12.2 # via - # annotated-types - # anyio - # asgiref # edx-opaque-keys # fastapi - # pact-python # pydantic # pydantic-core - # rich - # starlette - # typer - # uvicorn -ujson==5.10.0 - # via fastapi urllib3==2.2.2 # via # requests # responses -uvicorn[standard]==0.30.1 - # via - # fastapi - # pact-python -uvloop==0.19.0 - # via uvicorn -watchfiles==0.22.0 - # via uvicorn -websockets==12.0 - # via uvicorn +uvicorn==0.30.5 + # via pact-python yarl==1.9.4 # via pact-python