From 120be87c918bcbae679ca344f53163e1e7750bec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Dec 2025 08:24:54 +0000 Subject: [PATCH 1/4] chore(deps): bump the python group across 1 directory with 2 updates Updates the requirements on [starlette](https://github.com/Kludex/starlette) and [uv-build](https://github.com/astral-sh/uv) to permit the latest version. Updates `starlette` from 0.49.3 to 0.50.0 - [Release notes](https://github.com/Kludex/starlette/releases) - [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md) - [Commits](https://github.com/Kludex/starlette/compare/0.49.3...0.50.0) Updates `uv-build` to 0.9.18 - [Release notes](https://github.com/astral-sh/uv/releases) - [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md) - [Commits](https://github.com/astral-sh/uv/compare/0.7.21...0.9.18) --- updated-dependencies: - dependency-name: starlette dependency-version: 0.50.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: python - dependency-name: uv-build dependency-version: 0.9.18 dependency-type: direct:development dependency-group: python ... Signed-off-by: dependabot[bot] --- example/pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/example/pyproject.toml b/example/pyproject.toml index 1730b52..b71da30 100644 --- a/example/pyproject.toml +++ b/example/pyproject.toml @@ -5,11 +5,11 @@ dependencies = [ "connect-python", "flask==3.1.2", "protobuf>=5.28", - "starlette==0.49.3", + "starlette==0.50.0", ] [build-system] -requires = ["uv_build>=0.7.21,<0.8.0"] +requires = ["uv_build>=0.7.21,<0.10.0"] build-backend = "uv_build" [tool.ruff] From fb8b473c7b649dd8bf4ded9b4e247ef31c16e0db Mon Sep 17 00:00:00 2001 From: Stefan VanBuren Date: Mon, 29 Dec 2025 12:50:41 -0500 Subject: [PATCH 2/4] Run `uv lock` *sigh* - why can't Dependabot do this? Signed-off-by: Stefan VanBuren --- uv.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/uv.lock b/uv.lock index 3112e9d..3acf1b8 100644 --- a/uv.lock +++ b/uv.lock @@ -530,7 +530,7 @@ requires-dist = [ { name = "connect-python", editable = "." }, { name = "flask", specifier = "==3.1.2" }, { name = "protobuf", specifier = ">=5.28" }, - { name = "starlette", specifier = "==0.49.3" }, + { name = "starlette", specifier = "==0.50.0" }, ] [[package]] @@ -2191,15 +2191,15 @@ wheels = [ [[package]] name = "starlette" -version = "0.49.3" +version = "0.50.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/de/1a/608df0b10b53b0beb96a37854ee05864d182ddd4b1156a22f1ad3860425a/starlette-0.49.3.tar.gz", hash = "sha256:1c14546f299b5901a1ea0e34410575bc33bbd741377a10484a54445588d00284", size = 2655031, upload-time = "2025-11-01T15:12:26.13Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/b8/73a0e6a6e079a9d9cfa64113d771e421640b6f679a52eeb9b32f72d871a1/starlette-0.50.0.tar.gz", hash = "sha256:a2a17b22203254bcbc2e1f926d2d55f3f9497f769416b3190768befe598fa3ca", size = 2646985, upload-time = "2025-11-01T15:25:27.516Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/e0/021c772d6a662f43b63044ab481dc6ac7592447605b5b35a957785363122/starlette-0.49.3-py3-none-any.whl", hash = "sha256:b579b99715fdc2980cf88c8ec96d3bf1ce16f5a8051a7c2b84ef9b1cdecaea2f", size = 74340, upload-time = "2025-11-01T15:12:24.387Z" }, + { url = "https://files.pythonhosted.org/packages/d9/52/1064f510b141bd54025f9b55105e26d1fa970b9be67ad766380a3c9b74b0/starlette-0.50.0-py3-none-any.whl", hash = "sha256:9e5391843ec9b6e472eed1365a78c8098cfceb7a74bfd4d6b1c0c0095efb3bca", size = 74033, upload-time = "2025-11-01T15:25:25.461Z" }, ] [[package]] From 343892e8a3f15e2e977cf03acad943c3741ccad5 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Wed, 7 Jan 2026 12:03:40 +0900 Subject: [PATCH 3/4] Tweak timeouts Signed-off-by: Anuraag Agrawal --- conformance/test/server.py | 1 + test/test_errors.py | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/conformance/test/server.py b/conformance/test/server.py index 799a58e..c7e2a0a 100644 --- a/conformance/test/server.py +++ b/conformance/test/server.py @@ -540,6 +540,7 @@ async def serve_gunicorn( "--workers=4", "--worker-class=gevent", "--reuse-port", + "--keep-alive=120", ] if certfile: args.append(f"--certfile={certfile}") diff --git a/test/test_errors.py b/test/test_errors.py index 9b48253..03b21b3 100644 --- a/test/test_errors.py +++ b/test/test_errors.py @@ -353,7 +353,7 @@ def make_hat(self, request, ctx) -> NoReturn: @pytest.mark.parametrize( - ("client_timeout_ms", "call_timeout_ms"), [(50, None), (None, 50)] + ("client_timeout_ms", "call_timeout_ms"), [(200, None), (None, 200)] ) def test_sync_client_timeout( client_timeout_ms, call_timeout_ms, timeout_server: str @@ -385,12 +385,12 @@ def modify_timeout_header(request: Request) -> None: assert exc_info.value.code == Code.DEADLINE_EXCEEDED assert exc_info.value.message == "Request timed out" - assert recorded_timeout_header == "50" + assert recorded_timeout_header == "200" @pytest.mark.asyncio @pytest.mark.parametrize( - ("client_timeout_ms", "call_timeout_ms"), [(50, None), (None, 50)] + ("client_timeout_ms", "call_timeout_ms"), [(200, None), (None, 200)] ) async def test_async_client_timeout( client_timeout_ms, call_timeout_ms, timeout_server: str @@ -416,4 +416,4 @@ async def modify_timeout_header(request: Request) -> None: assert exc_info.value.code == Code.DEADLINE_EXCEEDED assert exc_info.value.message == "Request timed out" - assert recorded_timeout_header == "50" + assert recorded_timeout_header == "200" From dac7b0e597071a5dfe3180e01650b82a0572bc65 Mon Sep 17 00:00:00 2001 From: Anuraag Agrawal Date: Wed, 7 Jan 2026 12:38:38 +0900 Subject: [PATCH 4/4] Revert gunicorn Signed-off-by: Anuraag Agrawal --- conformance/test/server.py | 1 - 1 file changed, 1 deletion(-) diff --git a/conformance/test/server.py b/conformance/test/server.py index c7e2a0a..799a58e 100644 --- a/conformance/test/server.py +++ b/conformance/test/server.py @@ -540,7 +540,6 @@ async def serve_gunicorn( "--workers=4", "--worker-class=gevent", "--reuse-port", - "--keep-alive=120", ] if certfile: args.append(f"--certfile={certfile}")