google-cloud-pubsub 2.27.2__tar.gz → 2.28.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. {google_cloud_pubsub-2.27.2/google_cloud_pubsub.egg-info → google_cloud_pubsub-2.28.0}/PKG-INFO +1 -1
  2. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/client.py +5 -1
  3. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/client.py +5 -1
  4. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/types.py +5 -1
  5. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub/__init__.py +6 -0
  6. {google_cloud_pubsub-2.27.2/google/pubsub_v1 → google_cloud_pubsub-2.28.0/google/pubsub}/gapic_version.py +1 -1
  7. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/__init__.py +6 -0
  8. {google_cloud_pubsub-2.27.2/google/pubsub → google_cloud_pubsub-2.28.0/google/pubsub_v1}/gapic_version.py +1 -1
  9. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/async_client.py +5 -15
  10. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/client.py +3 -37
  11. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/transports/base.py +15 -0
  12. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/transports/grpc_asyncio.py +37 -9
  13. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/transports/rest.py +552 -490
  14. google_cloud_pubsub-2.28.0/google/pubsub_v1/services/publisher/transports/rest_base.py +680 -0
  15. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/async_client.py +5 -15
  16. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/client.py +3 -37
  17. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/transports/base.py +15 -0
  18. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/transports/grpc_asyncio.py +38 -10
  19. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/transports/rest.py +595 -545
  20. google_cloud_pubsub-2.28.0/google/pubsub_v1/services/schema_service/transports/rest_base.py +748 -0
  21. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/async_client.py +5 -15
  22. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/client.py +3 -37
  23. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/transports/base.py +15 -0
  24. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/transports/grpc_asyncio.py +44 -16
  25. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/transports/rest.py +840 -748
  26. google_cloud_pubsub-2.28.0/google/pubsub_v1/services/subscriber/transports/rest_base.py +1026 -0
  27. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/types/__init__.py +6 -0
  28. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/types/pubsub.py +696 -2
  29. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0/google_cloud_pubsub.egg-info}/PKG-INFO +1 -1
  30. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google_cloud_pubsub.egg-info/SOURCES.txt +3 -0
  31. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/scripts/fixup_pubsub_v1_keywords.py +2 -2
  32. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/gapic/pubsub_v1/test_publisher.py +2052 -1886
  33. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/gapic/pubsub_v1/test_schema_service.py +2381 -2205
  34. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/gapic/pubsub_v1/test_subscriber.py +3293 -3007
  35. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/test_publisher_client.py +30 -4
  36. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_subscriber_client.py +21 -3
  37. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/LICENSE +0 -0
  38. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/MANIFEST.in +0 -0
  39. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/README.rst +0 -0
  40. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub/__init__.py +0 -0
  41. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/__init__.py +0 -0
  42. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/exceptions.py +0 -0
  43. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/futures.py +0 -0
  44. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/open_telemetry/__init__.py +0 -0
  45. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/open_telemetry/context_propagation.py +0 -0
  46. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/open_telemetry/publish_message_wrapper.py +0 -0
  47. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/open_telemetry/subscribe_opentelemetry.py +0 -0
  48. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/proto/pubsub.proto +0 -0
  49. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/proto/schema.proto +0 -0
  50. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/__init__.py +0 -0
  51. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/_batch/__init__.py +0 -0
  52. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/_batch/base.py +0 -0
  53. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/_batch/thread.py +0 -0
  54. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/_sequencer/__init__.py +0 -0
  55. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/_sequencer/base.py +0 -0
  56. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/_sequencer/ordered_sequencer.py +0 -0
  57. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/_sequencer/unordered_sequencer.py +0 -0
  58. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/exceptions.py +0 -0
  59. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/flow_controller.py +0 -0
  60. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/publisher/futures.py +0 -0
  61. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/__init__.py +0 -0
  62. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/__init__.py +0 -0
  63. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/dispatcher.py +0 -0
  64. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/heartbeater.py +0 -0
  65. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/helper_threads.py +0 -0
  66. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/histogram.py +0 -0
  67. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/leaser.py +0 -0
  68. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/messages_on_hold.py +0 -0
  69. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/requests.py +0 -0
  70. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/_protocol/streaming_pull_manager.py +0 -0
  71. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/exceptions.py +0 -0
  72. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/futures.py +0 -0
  73. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/message.py +0 -0
  74. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/cloud/pubsub_v1/subscriber/scheduler.py +0 -0
  75. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub/py.typed +0 -0
  76. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/gapic_metadata.json +0 -0
  77. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/py.typed +0 -0
  78. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/__init__.py +0 -0
  79. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/__init__.py +0 -0
  80. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/pagers.py +0 -0
  81. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/transports/__init__.py +0 -0
  82. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/publisher/transports/grpc.py +0 -0
  83. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/__init__.py +0 -0
  84. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/pagers.py +0 -0
  85. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/transports/__init__.py +0 -0
  86. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/schema_service/transports/grpc.py +0 -0
  87. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/__init__.py +0 -0
  88. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/pagers.py +0 -0
  89. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/transports/__init__.py +0 -0
  90. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/services/subscriber/transports/grpc.py +0 -0
  91. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google/pubsub_v1/types/schema.py +0 -0
  92. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google_cloud_pubsub.egg-info/dependency_links.txt +0 -0
  93. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google_cloud_pubsub.egg-info/not-zip-safe +0 -0
  94. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google_cloud_pubsub.egg-info/requires.txt +0 -0
  95. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/google_cloud_pubsub.egg-info/top_level.txt +0 -0
  96. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/setup.cfg +0 -0
  97. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/setup.py +0 -0
  98. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/__init__.py +0 -0
  99. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/system.py +0 -0
  100. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/__init__.py +0 -0
  101. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/gapic/__init__.py +0 -0
  102. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/gapic/pubsub_v1/__init__.py +0 -0
  103. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/conftest.py +0 -0
  104. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/batch/test_base.py +0 -0
  105. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/batch/test_thread.py +0 -0
  106. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/sequencer/test_ordered_sequencer.py +0 -0
  107. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/sequencer/test_unordered_sequencer.py +0 -0
  108. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/test_flow_controller.py +0 -0
  109. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/test_futures_publisher.py +0 -0
  110. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/publisher/test_publish_message_wrapper.py +0 -0
  111. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_dispatcher.py +0 -0
  112. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_futures_subscriber.py +0 -0
  113. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_heartbeater.py +0 -0
  114. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_helper_threads.py +0 -0
  115. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_histogram.py +0 -0
  116. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_leaser.py +0 -0
  117. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_message.py +0 -0
  118. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_messages_on_hold.py +0 -0
  119. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_scheduler.py +0 -0
  120. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_streaming_pull_manager.py +0 -0
  121. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/subscriber/test_subscribe_opentelemetry.py +0 -0
  122. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/pubsub_v1/test_futures.py +0 -0
  123. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/test_packaging.py +0 -0
  124. {google_cloud_pubsub-2.27.2 → google_cloud_pubsub-2.28.0}/tests/unit/test_pubsub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: google-cloud-pubsub
3
- Version: 2.27.2
3
+ Version: 2.28.0
4
4
  Summary: Google Cloud Pub/Sub API client library
5
5
  Home-page: https://github.com/googleapis/python-pubsub
6
6
  Author: Google LLC
@@ -128,11 +128,15 @@ class Client(publisher_client.PublisherClient):
128
128
  # Sanity check: Is our goal to use the emulator?
129
129
  # If so, create a grpc insecure channel with the emulator host
130
130
  # as the target.
131
+ # TODO(https://github.com/googleapis/python-pubsub/issues/1349): Move the emulator
132
+ # code below to test files.
131
133
  if os.environ.get("PUBSUB_EMULATOR_HOST"):
132
134
  kwargs["client_options"] = {
133
135
  "api_endpoint": os.environ.get("PUBSUB_EMULATOR_HOST")
134
136
  }
135
- kwargs["credentials"] = AnonymousCredentials()
137
+ # Configure credentials directly to transport, if provided.
138
+ if "transport" not in kwargs:
139
+ kwargs["credentials"] = AnonymousCredentials()
136
140
 
137
141
  # For a transient failure, retry publishing the message infinitely.
138
142
  self.publisher_options = types.PublisherOptions(*publisher_options)
@@ -81,11 +81,15 @@ class Client(subscriber_client.SubscriberClient):
81
81
  # Sanity check: Is our goal to use the emulator?
82
82
  # If so, create a grpc insecure channel with the emulator host
83
83
  # as the target.
84
+ # TODO(https://github.com/googleapis/python-pubsub/issues/1349): Move the emulator
85
+ # code below to test files.
84
86
  if os.environ.get("PUBSUB_EMULATOR_HOST"):
85
87
  kwargs["client_options"] = {
86
88
  "api_endpoint": os.environ.get("PUBSUB_EMULATOR_HOST")
87
89
  }
88
- kwargs["credentials"] = AnonymousCredentials()
90
+ # Configure credentials directly to transport, if provided.
91
+ if "transport" not in kwargs:
92
+ kwargs["credentials"] = AnonymousCredentials()
89
93
 
90
94
  # Instantiate the underlying GAPIC client.
91
95
  super().__init__(**kwargs)
@@ -35,6 +35,7 @@ from google.protobuf import field_mask_pb2
35
35
  from google.protobuf import timestamp_pb2
36
36
 
37
37
  from google.api_core.protobuf_helpers import get_messages
38
+ from google.api_core.timeout import ConstantTimeout
38
39
 
39
40
  from google.pubsub_v1.types import pubsub as pubsub_gapic_types
40
41
 
@@ -191,7 +192,10 @@ class PublisherOptions(NamedTuple):
191
192
  "an instance of :class:`google.api_core.retry.Retry`."
192
193
  )
193
194
 
194
- timeout: "OptionalTimeout" = gapic_v1.method.DEFAULT # use api_core default
195
+ # Use ConstantTimeout instead of api_core default because the default
196
+ # value results in retries with zero deadline.
197
+ # Refer https://github.com/googleapis/python-api-core/issues/654
198
+ timeout: "OptionalTimeout" = ConstantTimeout(60)
195
199
  (
196
200
  "Timeout settings for message publishing by the client. It should be "
197
201
  "compatible with :class:`~.pubsub_v1.types.TimeoutType`."
@@ -42,6 +42,8 @@ from google.pubsub_v1.types.pubsub import GetSnapshotRequest
42
42
  from google.pubsub_v1.types.pubsub import GetSubscriptionRequest
43
43
  from google.pubsub_v1.types.pubsub import GetTopicRequest
44
44
  from google.pubsub_v1.types.pubsub import IngestionDataSourceSettings
45
+ from google.pubsub_v1.types.pubsub import IngestionFailureEvent
46
+ from google.pubsub_v1.types.pubsub import JavaScriptUDF
45
47
  from google.pubsub_v1.types.pubsub import ListSnapshotsRequest
46
48
  from google.pubsub_v1.types.pubsub import ListSnapshotsResponse
47
49
  from google.pubsub_v1.types.pubsub import ListSubscriptionsRequest
@@ -53,6 +55,7 @@ from google.pubsub_v1.types.pubsub import ListTopicsResponse
53
55
  from google.pubsub_v1.types.pubsub import ListTopicSubscriptionsRequest
54
56
  from google.pubsub_v1.types.pubsub import ListTopicSubscriptionsResponse
55
57
  from google.pubsub_v1.types.pubsub import MessageStoragePolicy
58
+ from google.pubsub_v1.types.pubsub import MessageTransform
56
59
  from google.pubsub_v1.types.pubsub import ModifyAckDeadlineRequest
57
60
  from google.pubsub_v1.types.pubsub import ModifyPushConfigRequest
58
61
  from google.pubsub_v1.types.pubsub import PlatformLogsSettings
@@ -115,6 +118,8 @@ __all__ = (
115
118
  "GetSubscriptionRequest",
116
119
  "GetTopicRequest",
117
120
  "IngestionDataSourceSettings",
121
+ "IngestionFailureEvent",
122
+ "JavaScriptUDF",
118
123
  "ListSnapshotsRequest",
119
124
  "ListSnapshotsResponse",
120
125
  "ListSubscriptionsRequest",
@@ -126,6 +131,7 @@ __all__ = (
126
131
  "ListTopicSubscriptionsRequest",
127
132
  "ListTopicSubscriptionsResponse",
128
133
  "MessageStoragePolicy",
134
+ "MessageTransform",
129
135
  "ModifyAckDeadlineRequest",
130
136
  "ModifyPushConfigRequest",
131
137
  "PlatformLogsSettings",
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "2.27.2" # {x-release-please-version}
16
+ __version__ = "2.28.0" # {x-release-please-version}
@@ -40,6 +40,8 @@ from .types.pubsub import GetSnapshotRequest
40
40
  from .types.pubsub import GetSubscriptionRequest
41
41
  from .types.pubsub import GetTopicRequest
42
42
  from .types.pubsub import IngestionDataSourceSettings
43
+ from .types.pubsub import IngestionFailureEvent
44
+ from .types.pubsub import JavaScriptUDF
43
45
  from .types.pubsub import ListSnapshotsRequest
44
46
  from .types.pubsub import ListSnapshotsResponse
45
47
  from .types.pubsub import ListSubscriptionsRequest
@@ -51,6 +53,7 @@ from .types.pubsub import ListTopicsResponse
51
53
  from .types.pubsub import ListTopicSubscriptionsRequest
52
54
  from .types.pubsub import ListTopicSubscriptionsResponse
53
55
  from .types.pubsub import MessageStoragePolicy
56
+ from .types.pubsub import MessageTransform
54
57
  from .types.pubsub import ModifyAckDeadlineRequest
55
58
  from .types.pubsub import ModifyPushConfigRequest
56
59
  from .types.pubsub import PlatformLogsSettings
@@ -116,6 +119,8 @@ __all__ = (
116
119
  "GetSubscriptionRequest",
117
120
  "GetTopicRequest",
118
121
  "IngestionDataSourceSettings",
122
+ "IngestionFailureEvent",
123
+ "JavaScriptUDF",
119
124
  "ListSchemaRevisionsRequest",
120
125
  "ListSchemaRevisionsResponse",
121
126
  "ListSchemasRequest",
@@ -131,6 +136,7 @@ __all__ = (
131
136
  "ListTopicsRequest",
132
137
  "ListTopicsResponse",
133
138
  "MessageStoragePolicy",
139
+ "MessageTransform",
134
140
  "ModifyAckDeadlineRequest",
135
141
  "ModifyPushConfigRequest",
136
142
  "PlatformLogsSettings",
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "2.27.2" # {x-release-please-version}
16
+ __version__ = "2.28.0" # {x-release-please-version}
@@ -1366,11 +1366,7 @@ class PublisherAsyncClient:
1366
1366
 
1367
1367
  # Wrap the RPC method; this adds retry and timeout information,
1368
1368
  # and friendly error handling.
1369
- rpc = gapic_v1.method_async.wrap_method(
1370
- self._client._transport.set_iam_policy,
1371
- default_timeout=None,
1372
- client_info=DEFAULT_CLIENT_INFO,
1373
- )
1369
+ rpc = self.transport._wrapped_methods[self._client._transport.set_iam_policy]
1374
1370
 
1375
1371
  # Certain fields should be provided within the metadata header;
1376
1372
  # add these here.
@@ -1491,11 +1487,7 @@ class PublisherAsyncClient:
1491
1487
 
1492
1488
  # Wrap the RPC method; this adds retry and timeout information,
1493
1489
  # and friendly error handling.
1494
- rpc = gapic_v1.method_async.wrap_method(
1495
- self._client._transport.get_iam_policy,
1496
- default_timeout=None,
1497
- client_info=DEFAULT_CLIENT_INFO,
1498
- )
1490
+ rpc = self.transport._wrapped_methods[self._client._transport.get_iam_policy]
1499
1491
 
1500
1492
  # Certain fields should be provided within the metadata header;
1501
1493
  # add these here.
@@ -1554,11 +1546,9 @@ class PublisherAsyncClient:
1554
1546
 
1555
1547
  # Wrap the RPC method; this adds retry and timeout information,
1556
1548
  # and friendly error handling.
1557
- rpc = gapic_v1.method_async.wrap_method(
1558
- self._client._transport.test_iam_permissions,
1559
- default_timeout=None,
1560
- client_info=DEFAULT_CLIENT_INFO,
1561
- )
1549
+ rpc = self.transport._wrapped_methods[
1550
+ self._client._transport.test_iam_permissions
1551
+ ]
1562
1552
 
1563
1553
  # Certain fields should be provided within the metadata header;
1564
1554
  # add these here.
@@ -511,36 +511,6 @@ class PublisherClient(metaclass=PublisherClientMeta):
511
511
  raise ValueError("Universe Domain cannot be an empty string.")
512
512
  return universe_domain
513
513
 
514
- @staticmethod
515
- def _compare_universes(
516
- client_universe: str, credentials: ga_credentials.Credentials
517
- ) -> bool:
518
- """Returns True iff the universe domains used by the client and credentials match.
519
-
520
- Args:
521
- client_universe (str): The universe domain configured via the client options.
522
- credentials (ga_credentials.Credentials): The credentials being used in the client.
523
-
524
- Returns:
525
- bool: True iff client_universe matches the universe in credentials.
526
-
527
- Raises:
528
- ValueError: when client_universe does not match the universe in credentials.
529
- """
530
-
531
- default_universe = PublisherClient._DEFAULT_UNIVERSE
532
- credentials_universe = getattr(credentials, "universe_domain", default_universe)
533
-
534
- if client_universe != credentials_universe:
535
- raise ValueError(
536
- "The configured universe domain "
537
- f"({client_universe}) does not match the universe domain "
538
- f"found in the credentials ({credentials_universe}). "
539
- "If you haven't configured the universe domain explicitly, "
540
- f"`{default_universe}` is the default."
541
- )
542
- return True
543
-
544
514
  def _validate_universe_domain(self):
545
515
  """Validates client's and credentials' universe domains are consistent.
546
516
 
@@ -550,13 +520,9 @@ class PublisherClient(metaclass=PublisherClientMeta):
550
520
  Raises:
551
521
  ValueError: If the configured universe domain is not valid.
552
522
  """
553
- self._is_universe_domain_valid = (
554
- self._is_universe_domain_valid
555
- or PublisherClient._compare_universes(
556
- self.universe_domain, self.transport._credentials
557
- )
558
- )
559
- return self._is_universe_domain_valid
523
+
524
+ # NOTE (b/349488459): universe validation is disabled until further notice.
525
+ return True
560
526
 
561
527
  @property
562
528
  def api_endpoint(self):
@@ -275,6 +275,21 @@ class PublisherTransport(abc.ABC):
275
275
  default_timeout=60.0,
276
276
  client_info=client_info,
277
277
  ),
278
+ self.get_iam_policy: gapic_v1.method.wrap_method(
279
+ self.get_iam_policy,
280
+ default_timeout=None,
281
+ client_info=client_info,
282
+ ),
283
+ self.set_iam_policy: gapic_v1.method.wrap_method(
284
+ self.set_iam_policy,
285
+ default_timeout=None,
286
+ client_info=client_info,
287
+ ),
288
+ self.test_iam_permissions: gapic_v1.method.wrap_method(
289
+ self.test_iam_permissions,
290
+ default_timeout=None,
291
+ client_info=client_info,
292
+ ),
278
293
  }
279
294
 
280
295
  def close(self):
@@ -13,6 +13,7 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
+ import inspect
16
17
  import warnings
17
18
  from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union
18
19
 
@@ -233,6 +234,9 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
233
234
  )
234
235
 
235
236
  # Wrap messages. This must be done after self._grpc_channel exists
237
+ self._wrap_with_kind = (
238
+ "kind" in inspect.signature(gapic_v1.method_async.wrap_method).parameters
239
+ )
236
240
  self._prep_wrapped_messages(client_info)
237
241
 
238
242
  @property
@@ -585,7 +589,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
585
589
  def _prep_wrapped_messages(self, client_info):
586
590
  """Precompute the wrapped methods, overriding the base class method to use async wrappers."""
587
591
  self._wrapped_methods = {
588
- self.create_topic: gapic_v1.method_async.wrap_method(
592
+ self.create_topic: self._wrap_method(
589
593
  self.create_topic,
590
594
  default_retry=retries.AsyncRetry(
591
595
  initial=0.1,
@@ -599,7 +603,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
599
603
  default_timeout=60.0,
600
604
  client_info=client_info,
601
605
  ),
602
- self.update_topic: gapic_v1.method_async.wrap_method(
606
+ self.update_topic: self._wrap_method(
603
607
  self.update_topic,
604
608
  default_retry=retries.AsyncRetry(
605
609
  initial=0.1,
@@ -613,7 +617,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
613
617
  default_timeout=60.0,
614
618
  client_info=client_info,
615
619
  ),
616
- self.publish: gapic_v1.method_async.wrap_method(
620
+ self.publish: self._wrap_method(
617
621
  self.publish,
618
622
  default_retry=retries.AsyncRetry(
619
623
  initial=0.1,
@@ -633,7 +637,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
633
637
  default_timeout=60.0,
634
638
  client_info=client_info,
635
639
  ),
636
- self.get_topic: gapic_v1.method_async.wrap_method(
640
+ self.get_topic: self._wrap_method(
637
641
  self.get_topic,
638
642
  default_retry=retries.AsyncRetry(
639
643
  initial=0.1,
@@ -649,7 +653,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
649
653
  default_timeout=60.0,
650
654
  client_info=client_info,
651
655
  ),
652
- self.list_topics: gapic_v1.method_async.wrap_method(
656
+ self.list_topics: self._wrap_method(
653
657
  self.list_topics,
654
658
  default_retry=retries.AsyncRetry(
655
659
  initial=0.1,
@@ -665,7 +669,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
665
669
  default_timeout=60.0,
666
670
  client_info=client_info,
667
671
  ),
668
- self.list_topic_subscriptions: gapic_v1.method_async.wrap_method(
672
+ self.list_topic_subscriptions: self._wrap_method(
669
673
  self.list_topic_subscriptions,
670
674
  default_retry=retries.AsyncRetry(
671
675
  initial=0.1,
@@ -681,7 +685,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
681
685
  default_timeout=60.0,
682
686
  client_info=client_info,
683
687
  ),
684
- self.list_topic_snapshots: gapic_v1.method_async.wrap_method(
688
+ self.list_topic_snapshots: self._wrap_method(
685
689
  self.list_topic_snapshots,
686
690
  default_retry=retries.AsyncRetry(
687
691
  initial=0.1,
@@ -697,7 +701,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
697
701
  default_timeout=60.0,
698
702
  client_info=client_info,
699
703
  ),
700
- self.delete_topic: gapic_v1.method_async.wrap_method(
704
+ self.delete_topic: self._wrap_method(
701
705
  self.delete_topic,
702
706
  default_retry=retries.AsyncRetry(
703
707
  initial=0.1,
@@ -711,7 +715,7 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
711
715
  default_timeout=60.0,
712
716
  client_info=client_info,
713
717
  ),
714
- self.detach_subscription: gapic_v1.method_async.wrap_method(
718
+ self.detach_subscription: self._wrap_method(
715
719
  self.detach_subscription,
716
720
  default_retry=retries.AsyncRetry(
717
721
  initial=0.1,
@@ -725,10 +729,34 @@ class PublisherGrpcAsyncIOTransport(PublisherTransport):
725
729
  default_timeout=60.0,
726
730
  client_info=client_info,
727
731
  ),
732
+ self.get_iam_policy: self._wrap_method(
733
+ self.get_iam_policy,
734
+ default_timeout=None,
735
+ client_info=client_info,
736
+ ),
737
+ self.set_iam_policy: self._wrap_method(
738
+ self.set_iam_policy,
739
+ default_timeout=None,
740
+ client_info=client_info,
741
+ ),
742
+ self.test_iam_permissions: self._wrap_method(
743
+ self.test_iam_permissions,
744
+ default_timeout=None,
745
+ client_info=client_info,
746
+ ),
728
747
  }
729
748
 
749
+ def _wrap_method(self, func, *args, **kwargs):
750
+ if self._wrap_with_kind: # pragma: NO COVER
751
+ kwargs["kind"] = self.kind
752
+ return gapic_v1.method_async.wrap_method(func, *args, **kwargs)
753
+
730
754
  def close(self):
731
755
  return self.grpc_channel.close()
732
756
 
757
+ @property
758
+ def kind(self) -> str:
759
+ return "grpc_asyncio"
760
+
733
761
 
734
762
  __all__ = ("PublisherGrpcAsyncIOTransport",)