From e0da39ea52b3ca4a8e6f15e3013da61e632e5285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mochol=C3=AD?= Date: Wed, 12 Apr 2023 17:33:56 +0200 Subject: [PATCH] Update fastapi dependency pins (#17173) * Update fastapi dependency pins * Apply suggestions from code review * Update test.txt * Update requirements/app/base.txt * Revert "Update requirements/app/base.txt" This reverts commit 59918ffc6c2cfd8b5509df48ca84b67ad264bc30. * cloud update * Bad merge * fastapi 0.69.0 which pins starlette 0.15.0 * https://github.com/pydantic/pydantic/issues/1985 * Avoid CVE: https://github.com/tiangolo/fastapi/pull/3213 * Strict trio * Skip windows test --------- Co-authored-by: Jirka Borovec <6035284+Borda@users.noreply.github.com> (cherry picked from commit 04fb30bd97ed4fe7778c1b7a0a041ec100914bfc) --- requirements/app/base.txt | 12 +++++++----- requirements/app/test.txt | 2 +- .../components/serve/test_model_inference_api.py | 4 ++++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/requirements/app/base.txt b/requirements/app/base.txt index c846c9b36102b..a71103b861f14 100644 --- a/requirements/app/base.txt +++ b/requirements/app/base.txt @@ -1,4 +1,4 @@ -lightning-cloud >=0.5.27 +lightning-cloud >=0.5.33 packaging typing-extensions >=4.0.0, <=4.4.0 deepdiff >=5.7.0, <6.2.4 @@ -12,15 +12,17 @@ beautifulsoup4 >=4.8.0, <4.11.2 inquirer >=2.10.0, <=3.1.2 psutil <5.9.5 click <=8.1.3 -fastapi <0.89.0 # strict; TODO: broken serializations + +fastapi>=0.69.0,<0.89.0 # strict; TODO: broken serializations +starlette # https://fastapi.tiangolo.com/deployment/versions/#about-starlette +pydantic>=1.7.4,<2.0.0 # https://fastapi.tiangolo.com/deployment/versions/#about-pydantic + dateutils <=0.6.12 Jinja2 <=3.1.2 -pydantic <=1.10.4 PyYAML <=6.0 requests <2.28.3 -rich <=13.0.1 -starlette <0.24.0 +rich >=12.3.0, <=13.0.1 urllib3 <=1.26.13 uvicorn <=0.17.6 websocket-client <1.5.2 diff --git a/requirements/app/test.txt b/requirements/app/test.txt index e1eb170ea859d..a4363c807fc12 100644 --- a/requirements/app/test.txt +++ b/requirements/app/test.txt @@ -6,7 +6,7 @@ pytest-doctestplus >=0.9.0 pytest-asyncio ==0.20.3 playwright ==1.30.0 httpx -trio <0.22.0 +trio <0.22.0 # strict https://github.com/python-trio/trio/pull/2213 pympler psutil setuptools <67.7.0 diff --git a/tests/tests_app/components/serve/test_model_inference_api.py b/tests/tests_app/components/serve/test_model_inference_api.py index 15e5deb8f1261..40132282de2c3 100644 --- a/tests/tests_app/components/serve/test_model_inference_api.py +++ b/tests/tests_app/components/serve/test_model_inference_api.py @@ -7,6 +7,7 @@ import pytest from lightning_app.components.serve import serve +from lightning_app.testing.helpers import _RunIf from lightning_app.utilities.imports import _is_numpy_available, _is_torch_available from lightning_app.utilities.network import _configure_session, find_free_network_port from tests_app import _PROJECT_ROOT @@ -37,6 +38,9 @@ def target_fn(port, workers): sys.platform == "win32", reason="requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1" ) @pytest.mark.parametrize("workers", [0]) +# avoid the error: Failed to establish a new connection: [WinError 10061] No connection could be made because the +# target machine actively refused it +@_RunIf(skip_windows=True) def test_model_inference_api(workers): port = find_free_network_port()