From 2dfa1ee29ce7b1d7f2665006bea27f977f6d41b1 Mon Sep 17 00:00:00 2001 From: dp-grpc bot Date: Wed, 16 Sep 2026 15:57:01 +0000 Subject: [PATCH 1/2] Sync Python gRPC stubs from dp-grpc rel-1.16.0 --- pyproject.toml | 2 +- src/dp_python_lib/grpc/annotation_pb2_grpc.py | 2 +- src/dp_python_lib/grpc/common_pb2_grpc.py | 2 +- src/dp_python_lib/grpc/ingestion_pb2_grpc.py | 2 +- src/dp_python_lib/grpc/ingestion_stream_pb2_grpc.py | 2 +- src/dp_python_lib/grpc/query_pb2_grpc.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 394f74c..c18676d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -98,7 +98,7 @@ markers = [ # rewrap; at 120 there are 3. Reflowing that much prose by hand would be a large diff with no # readability gain. line-length = 120 -target-version = "py310" +target-version = "1.16.0" # The gRPC stubs are generated from the upstream dp-grpc protos and regenerated wholesale; # linting or formatting them would be overwritten on the next regeneration. # diff --git a/src/dp_python_lib/grpc/annotation_pb2_grpc.py b/src/dp_python_lib/grpc/annotation_pb2_grpc.py index 3b68084..93c6d44 100644 --- a/src/dp_python_lib/grpc/annotation_pb2_grpc.py +++ b/src/dp_python_lib/grpc/annotation_pb2_grpc.py @@ -5,7 +5,7 @@ from . import annotation_pb2 as annotation__pb2 -GRPC_GENERATED_VERSION = '1.83.1' +GRPC_GENERATED_VERSION = '1.84.0' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/dp_python_lib/grpc/common_pb2_grpc.py b/src/dp_python_lib/grpc/common_pb2_grpc.py index a9b70fd..d195949 100644 --- a/src/dp_python_lib/grpc/common_pb2_grpc.py +++ b/src/dp_python_lib/grpc/common_pb2_grpc.py @@ -4,7 +4,7 @@ import warnings -GRPC_GENERATED_VERSION = '1.83.1' +GRPC_GENERATED_VERSION = '1.84.0' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/dp_python_lib/grpc/ingestion_pb2_grpc.py b/src/dp_python_lib/grpc/ingestion_pb2_grpc.py index 0f3d00b..e33646e 100644 --- a/src/dp_python_lib/grpc/ingestion_pb2_grpc.py +++ b/src/dp_python_lib/grpc/ingestion_pb2_grpc.py @@ -5,7 +5,7 @@ from . import ingestion_pb2 as ingestion__pb2 -GRPC_GENERATED_VERSION = '1.83.1' +GRPC_GENERATED_VERSION = '1.84.0' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/dp_python_lib/grpc/ingestion_stream_pb2_grpc.py b/src/dp_python_lib/grpc/ingestion_stream_pb2_grpc.py index 56ce6ab..b0ccc7d 100644 --- a/src/dp_python_lib/grpc/ingestion_stream_pb2_grpc.py +++ b/src/dp_python_lib/grpc/ingestion_stream_pb2_grpc.py @@ -5,7 +5,7 @@ from . import ingestion_stream_pb2 as ingestion__stream__pb2 -GRPC_GENERATED_VERSION = '1.83.1' +GRPC_GENERATED_VERSION = '1.84.0' GRPC_VERSION = grpc.__version__ _version_not_supported = False diff --git a/src/dp_python_lib/grpc/query_pb2_grpc.py b/src/dp_python_lib/grpc/query_pb2_grpc.py index 4866904..2ece649 100644 --- a/src/dp_python_lib/grpc/query_pb2_grpc.py +++ b/src/dp_python_lib/grpc/query_pb2_grpc.py @@ -5,7 +5,7 @@ from . import query_pb2 as query__pb2 -GRPC_GENERATED_VERSION = '1.83.1' +GRPC_GENERATED_VERSION = '1.84.0' GRPC_VERSION = grpc.__version__ _version_not_supported = False From 617f3a6793fd13e3fa1d8e78cbf46fc255a1c2cd Mon Sep 17 00:00:00 2001 From: Craig McChesney Date: Wed, 16 Sep 2026 10:27:55 -0600 Subject: [PATCH 2/2] fix: repair target-version and raise the grpcio floors for the 1.16.0 stubs The stub sync workflow in dp-grpc rewrote ruff's `target-version` setting. Its "Update pyproject.toml version" step substitutes on an unanchored `version\s*=\s*"[^"]+"`, which matches the tail of `target-version = "py310"` and replaced it with `target-version = "1.16.0"`. Ruff cannot parse that as a Python dialect, so it exited 2 before linting anything and failed CI with `unknown variant `1.16.0``. Restore `py310`. The workflow step is itself obsolete -- this project takes its version from the git tag via setuptools-scm (`dynamic = ["version"]`), so there is no literal `version = "..."` for it to bump and ruff's key is the only line it can match. Removing the step is handled separately in dp-grpc. Also raise both grpcio floors from 1.83.1 to 1.84.0. The regenerated stubs set `GRPC_GENERATED_VERSION = '1.84.0'` and raise at import time on anything older: RuntimeError: The grpc package installed is at version 1.83.1, but the generated code in annotation_pb2_grpc.py depends on grpcio>=1.84.0. CI did not catch this because a fresh install resolves `grpcio>=1.83.1` to the newest release, but any environment already pinned at 1.83.1 fails on import, and the published wheel's metadata would understate what it actually needs. The `[codegen]` floor moves with it, since 1.84.0 stubs come from 1.84.0 tooling. protobuf is unchanged: the stubs still validate against 7.35. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_0151QFCHYMNBgEVNGLTgsoFL --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c18676d..d4356fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ dependencies = [ # NOTE: grpcio-tools is deliberately NOT here. It is the protoc toolchain used to *generate* # the stubs, not to run them -- nothing under src/ imports grpc_tools. Requiring it at runtime # would force every consumer to install the compiler. It lives in the [codegen] extra instead. - "grpcio>=1.83.1", + "grpcio>=1.84.0", "protobuf>=7.35.1", "pydantic-settings", "PyYAML", @@ -69,7 +69,7 @@ dev = [ # Toolchain for regenerating the gRPC stubs in src/dp_python_lib/grpc from the upstream # dp-grpc protos. Not needed to use or develop against the library. codegen = [ - "grpcio-tools>=1.83.1", + "grpcio-tools>=1.84.0", ] [tool.setuptools.packages.find] @@ -98,7 +98,7 @@ markers = [ # rewrap; at 120 there are 3. Reflowing that much prose by hand would be a large diff with no # readability gain. line-length = 120 -target-version = "1.16.0" +target-version = "py310" # The gRPC stubs are generated from the upstream dp-grpc protos and regenerated wholesale; # linting or formatting them would be overwritten on the next regeneration. #