From 5736e0ad75d9d66f199dc51a874683add2facea4 Mon Sep 17 00:00:00 2001 From: Nikita Belonogov Date: Fri, 7 Aug 2026 20:36:47 +0400 Subject: [PATCH] fix: restore grpcio-reflection test dep for python 3.10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 3e9c6b3325 (BROS-1527, synced from the monorepo) regenerated pyproject.toml/uv.lock from a base that predates #9882 and silently dropped the grpcio-reflection test dependency. On Python 3.10 tavern 2.x unconditionally loads its grpc plugin (grpcio is present transitively), so every tavern test errors at setup with PluginLoadError: No module named 'grpc_reflection' — 165 failures in the LS SQLite Ubuntu/Windows (3.10) jobs on develop. Co-Authored-By: Claude Fable 5 --- pyproject.toml | 3 +++ uv.lock | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 34f2d29365e1..85eba5c90ae2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -96,6 +96,9 @@ test = [ "pytest-mock==3.15.1", "tavern==3.3.3; python_version >= '3.11'", "tavern==2.17.0; python_version < '3.11'", + # tavern 2.x (py3.10) unconditionally loads its grpc plugin because grpcio is + # present transitively; without grpc_reflection every tavern test errors at setup + "grpcio-reflection==1.78.0 ; python_full_version < '3.11'", "fakeredis~=2.26.1", "pytest-env==1.6.0; python_version >= '3.11'", "pytest-env==0.6.2; python_version < '3.11'", diff --git a/uv.lock b/uv.lock index 92872c599fce..ff2f29173db8 100644 --- a/uv.lock +++ b/uv.lock @@ -10,7 +10,7 @@ resolution-markers = [ ] [options] -exclude-newer = "2026-08-03T15:52:00.261625377Z" +exclude-newer = "2026-08-03T16:34:03.034629Z" exclude-newer-span = "P4D" [[package]] @@ -1274,6 +1274,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/48/b2/b096ccce418882fbfda4f7496f9357aaa9a5af1896a9a7f60d9f2b275a06/grpcio-1.78.0-cp314-cp314-win_amd64.whl", hash = "sha256:dce09d6116df20a96acfdbf85e4866258c3758180e8c49845d6ba8248b6d0bbb", size = 4929852, upload-time = "2026-02-06T09:56:45.885Z" }, ] +[[package]] +name = "grpcio-reflection" +version = "1.78.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "grpcio", marker = "python_full_version < '3.11'" }, + { name = "protobuf", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/06/337546aae558675f79cae2a8c1ce0c9b1952cbc5c28b01878f68d040f5bb/grpcio_reflection-1.78.0.tar.gz", hash = "sha256:e6e60c0b85dbcdf963b4d4d150c0f1d238ba891d805b575c52c0365d07fc0c40", size = 19098, upload-time = "2026-02-06T10:01:52.225Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/6d/4d095d27ccd049865ecdafc467754e9e47ad0f677a30dda969c3590f6582/grpcio_reflection-1.78.0-py3-none-any.whl", hash = "sha256:06fcfde9e6888cdd12e9dd1cf6dc7c440c2e9acf420f696ccbe008672ed05b60", size = 22800, upload-time = "2026-02-06T10:01:33.822Z" }, +] + [[package]] name = "grpcio-status" version = "1.78.0" @@ -1817,6 +1830,7 @@ test = [ { name = "factory-boy" }, { name = "fakeredis" }, { name = "freezegun" }, + { name = "grpcio-reflection", marker = "python_full_version < '3.11'" }, { name = "mock" }, { name = "moto" }, { name = "pre-commit" }, @@ -1910,6 +1924,7 @@ test = [ { name = "factory-boy", specifier = ">=3.3.3,<4" }, { name = "fakeredis", specifier = "~=2.26.1" }, { name = "freezegun", specifier = "~=1.5.1" }, + { name = "grpcio-reflection", marker = "python_full_version < '3.11'", specifier = "==1.78.0" }, { name = "mock", specifier = ">=5.1.0" }, { name = "moto", specifier = ">=4.2.6" }, { name = "pre-commit", specifier = "==3.3.3" },