From d8c45827e33920309d5de389aad045dc748596e9 Mon Sep 17 00:00:00 2001 From: Ishaan Gandhi Date: Thu, 13 Aug 2026 14:49:14 -0400 Subject: [PATCH] fix(pubsub): preserve publisher method annotations --- .../google/pubsub_v1/services/publisher/async_client.py | 8 +++----- .../google/pubsub_v1/services/publisher/client.py | 8 +++----- .../google/pubsub_v1/types/__init__.py | 7 ++++--- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/async_client.py b/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/async_client.py index e4d627601c5e..4b63fd10b32c 100644 --- a/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/async_client.py +++ b/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/async_client.py @@ -17,6 +17,7 @@ import re from collections import OrderedDict from typing import ( + Any, Callable, Dict, Mapping, @@ -39,10 +40,7 @@ from google.pubsub_v1 import gapic_version as package_version -try: - OptionalRetry = Union[retries.AsyncRetry, gapic_v1.method._MethodDefault, None] -except AttributeError: # pragma: NO COVER - OptionalRetry = Union[retries.AsyncRetry, object, None] # type: ignore +OptionalRetry = Union[retries.AsyncRetry, gapic_v1.method._MethodDefault, None] import google.protobuf.duration_pb2 as duration_pb2 # type: ignore import google.protobuf.field_mask_pb2 as field_mask_pb2 # type: ignore @@ -552,7 +550,7 @@ async def sample_update_topic(): async def publish( self, - request: Optional[Union[pubsub.PublishRequest, dict]] = None, + request: Optional[Union[pubsub.PublishRequest, Dict[str, Any]]] = None, *, topic: Optional[str] = None, messages: Optional[MutableSequence[pubsub.PubsubMessage]] = None, diff --git a/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/client.py b/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/client.py index a3151715a0e6..b80b864b4e64 100644 --- a/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/client.py +++ b/packages/google-cloud-pubsub/google/pubsub_v1/services/publisher/client.py @@ -22,6 +22,7 @@ from collections import OrderedDict from http import HTTPStatus from typing import ( + Any, Callable, Dict, Mapping, @@ -49,10 +50,7 @@ from google.pubsub_v1 import gapic_version as package_version -try: - OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None] -except AttributeError: # pragma: NO COVER - OptionalRetry = Union[retries.Retry, object, None] # type: ignore +OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None] try: from google.api_core import client_logging # type: ignore @@ -1062,7 +1060,7 @@ def sample_update_topic(): def publish( self, - request: Optional[Union[pubsub.PublishRequest, dict]] = None, + request: Optional[Union[pubsub.PublishRequest, Dict[str, Any]]] = None, *, topic: Optional[str] = None, messages: Optional[MutableSequence[pubsub.PubsubMessage]] = None, diff --git a/packages/google-cloud-pubsub/google/pubsub_v1/types/__init__.py b/packages/google-cloud-pubsub/google/pubsub_v1/types/__init__.py index 712a8589824f..dca3606a5c1e 100644 --- a/packages/google-cloud-pubsub/google/pubsub_v1/types/__init__.py +++ b/packages/google-cloud-pubsub/google/pubsub_v1/types/__init__.py @@ -15,6 +15,8 @@ # from typing import Union +from google.api_core.timeout import ConstantTimeout, ExponentialTimeout + from .pubsub import ( AcknowledgeRequest, AIInference, @@ -91,10 +93,9 @@ ) TimeoutType = Union[ - int, float, - "google.api_core.timeout.ConstantTimeout", - "google.api_core.timeout.ExponentialTimeout", + ConstantTimeout, + ExponentialTimeout, ] """The type of the timeout parameter of publisher client methods."""