google-cloud-pubsub 2.34.0__tar.gz → 2.35.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 (123) hide show
  1. {google_cloud_pubsub-2.34.0/google_cloud_pubsub.egg-info → google_cloud_pubsub-2.35.0}/PKG-INFO +11 -13
  2. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/README.rst +7 -5
  3. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub/__init__.py +2 -0
  4. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub/gapic_version.py +1 -1
  5. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/__init__.py +2 -0
  6. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/gapic_version.py +1 -1
  7. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/async_client.py +8 -8
  8. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/client.py +8 -8
  9. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/async_client.py +2 -2
  10. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/client.py +2 -2
  11. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/types/__init__.py +2 -0
  12. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/types/pubsub.py +116 -10
  13. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0/google_cloud_pubsub.egg-info}/PKG-INFO +11 -13
  14. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google_cloud_pubsub.egg-info/requires.txt +2 -8
  15. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/setup.py +3 -7
  16. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/system.py +1 -6
  17. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/gapic/pubsub_v1/test_publisher.py +3 -6
  18. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/gapic/pubsub_v1/test_schema_service.py +1 -6
  19. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/gapic/pubsub_v1/test_subscriber.py +2 -6
  20. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/batch/test_thread.py +1 -5
  21. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/sequencer/test_ordered_sequencer.py +1 -7
  22. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/sequencer/test_unordered_sequencer.py +1 -7
  23. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/test_publisher_client.py +1 -5
  24. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_dispatcher.py +1 -5
  25. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_futures_subscriber.py +1 -7
  26. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_heartbeater.py +1 -6
  27. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_helper_threads.py +1 -7
  28. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_leaser.py +1 -6
  29. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_message.py +1 -6
  30. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_scheduler.py +1 -6
  31. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_streaming_pull_manager.py +1 -5
  32. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_subscribe_opentelemetry.py +1 -6
  33. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_subscriber_client.py +1 -5
  34. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/test_futures.py +1 -5
  35. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/LICENSE +0 -0
  36. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/MANIFEST.in +0 -0
  37. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub/__init__.py +0 -0
  38. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/__init__.py +0 -0
  39. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/exceptions.py +0 -0
  40. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/futures.py +0 -0
  41. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/open_telemetry/__init__.py +0 -0
  42. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/open_telemetry/context_propagation.py +0 -0
  43. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/open_telemetry/publish_message_wrapper.py +0 -0
  44. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/open_telemetry/subscribe_opentelemetry.py +0 -0
  45. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/proto/pubsub.proto +0 -0
  46. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/proto/schema.proto +0 -0
  47. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/__init__.py +0 -0
  48. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/_batch/__init__.py +0 -0
  49. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/_batch/base.py +0 -0
  50. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/_batch/thread.py +0 -0
  51. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/_sequencer/__init__.py +0 -0
  52. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/_sequencer/base.py +0 -0
  53. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/_sequencer/ordered_sequencer.py +0 -0
  54. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/_sequencer/unordered_sequencer.py +0 -0
  55. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/client.py +0 -0
  56. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/exceptions.py +0 -0
  57. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/flow_controller.py +0 -0
  58. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/publisher/futures.py +0 -0
  59. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/__init__.py +0 -0
  60. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/__init__.py +0 -0
  61. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/dispatcher.py +0 -0
  62. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/heartbeater.py +0 -0
  63. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/helper_threads.py +0 -0
  64. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/histogram.py +0 -0
  65. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/leaser.py +0 -0
  66. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/messages_on_hold.py +0 -0
  67. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/requests.py +0 -0
  68. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/_protocol/streaming_pull_manager.py +0 -0
  69. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/client.py +0 -0
  70. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/exceptions.py +0 -0
  71. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/futures.py +0 -0
  72. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/message.py +0 -0
  73. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/subscriber/scheduler.py +0 -0
  74. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/cloud/pubsub_v1/types.py +0 -0
  75. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub/py.typed +0 -0
  76. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/gapic_metadata.json +0 -0
  77. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/py.typed +0 -0
  78. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/__init__.py +0 -0
  79. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/__init__.py +0 -0
  80. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/pagers.py +0 -0
  81. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/transports/__init__.py +0 -0
  82. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/transports/base.py +0 -0
  83. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/transports/grpc.py +0 -0
  84. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/transports/grpc_asyncio.py +0 -0
  85. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/transports/rest.py +0 -0
  86. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/publisher/transports/rest_base.py +0 -0
  87. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/__init__.py +0 -0
  88. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/async_client.py +0 -0
  89. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/client.py +0 -0
  90. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/pagers.py +0 -0
  91. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/transports/__init__.py +0 -0
  92. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/transports/base.py +0 -0
  93. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/transports/grpc.py +0 -0
  94. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/transports/grpc_asyncio.py +0 -0
  95. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/transports/rest.py +0 -0
  96. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/schema_service/transports/rest_base.py +0 -0
  97. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/__init__.py +0 -0
  98. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/pagers.py +0 -0
  99. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/transports/__init__.py +0 -0
  100. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/transports/base.py +0 -0
  101. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/transports/grpc.py +0 -0
  102. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/transports/grpc_asyncio.py +0 -0
  103. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/transports/rest.py +0 -0
  104. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/services/subscriber/transports/rest_base.py +0 -0
  105. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google/pubsub_v1/types/schema.py +0 -0
  106. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google_cloud_pubsub.egg-info/SOURCES.txt +0 -0
  107. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google_cloud_pubsub.egg-info/dependency_links.txt +0 -0
  108. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google_cloud_pubsub.egg-info/not-zip-safe +0 -0
  109. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/google_cloud_pubsub.egg-info/top_level.txt +0 -0
  110. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/setup.cfg +0 -0
  111. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/__init__.py +0 -0
  112. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/__init__.py +0 -0
  113. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/gapic/__init__.py +0 -0
  114. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/gapic/pubsub_v1/__init__.py +0 -0
  115. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/conftest.py +0 -0
  116. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/batch/test_base.py +0 -0
  117. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/test_flow_controller.py +0 -0
  118. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/test_futures_publisher.py +0 -0
  119. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/publisher/test_publish_message_wrapper.py +0 -0
  120. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_histogram.py +0 -0
  121. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/pubsub_v1/subscriber/test_messages_on_hold.py +0 -0
  122. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/test_packaging.py +0 -0
  123. {google_cloud_pubsub-2.34.0 → google_cloud_pubsub-2.35.0}/tests/unit/test_pubsub.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-pubsub
3
- Version: 2.34.0
3
+ Version: 2.35.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
@@ -12,8 +12,6 @@ Classifier: Intended Audience :: Developers
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.7
16
- Classifier: Programming Language :: Python :: 3.8
17
15
  Classifier: Programming Language :: Python :: 3.9
18
16
  Classifier: Programming Language :: Python :: 3.10
19
17
  Classifier: Programming Language :: Python :: 3.11
@@ -22,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.13
22
20
  Classifier: Programming Language :: Python :: 3.14
23
21
  Classifier: Operating System :: OS Independent
24
22
  Classifier: Topic :: Internet
25
- Requires-Python: >=3.7
23
+ Requires-Python: >=3.9
26
24
  License-File: LICENSE
27
25
  Requires-Dist: grpcio<2.0.0,>=1.51.3; python_version < "3.14"
28
26
  Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
@@ -34,10 +32,8 @@ Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
34
32
  Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2
35
33
  Requires-Dist: grpc-google-iam-v1<1.0.0,>=0.12.4
36
34
  Requires-Dist: grpcio-status>=1.33.2
37
- Requires-Dist: opentelemetry-api<=1.22.0; python_version <= "3.7"
38
- Requires-Dist: opentelemetry-api>=1.27.0; python_version >= "3.8"
39
- Requires-Dist: opentelemetry-sdk<=1.22.0; python_version <= "3.7"
40
- Requires-Dist: opentelemetry-sdk>=1.27.0; python_version >= "3.8"
35
+ Requires-Dist: opentelemetry-api>=1.27.0
36
+ Requires-Dist: opentelemetry-sdk>=1.27.0
41
37
  Provides-Extra: libcst
42
38
  Requires-Dist: libcst>=0.3.10; extra == "libcst"
43
39
  Dynamic: author
@@ -56,7 +52,7 @@ Dynamic: summary
56
52
  Python Client for Google Cloud Pub / Sub
57
53
  ========================================
58
54
 
59
- |GA| |pypi| |versions|
55
+ |GA| |pypi| |versions|
60
56
 
61
57
  `Google Cloud Pub / Sub`_ is a fully-managed real-time messaging service that
62
58
  allows you to send and receive messages between independent applications. You
@@ -115,11 +111,13 @@ dependencies.
115
111
 
116
112
  Supported Python Versions
117
113
  ^^^^^^^^^^^^^^^^^^^^^^^^^
118
- Python >= 3.7
114
+ Python >= 3.9
119
115
 
120
116
  Deprecated Python Versions
121
117
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
122
- Python <= 3.6.
118
+ Python < 3.9
119
+
120
+ The last version of this library compatible with Python 3.7 and 3.8 is google-cloud-pubsub==2.34.0.
123
121
 
124
122
  The last version of this library compatible with Python 2.7 is google-cloud-pubsub==1.7.0.
125
123
 
@@ -201,7 +199,7 @@ the topic, and subscribe to that, passing a callback function.
201
199
 
202
200
  with pubsub_v1.SubscriberClient() as subscriber:
203
201
  subscriber.create_subscription(
204
- name=subscription_name, topic=topic_name)
202
+ name=subscription_name, topic=topic_name)
205
203
  future = subscriber.subscribe(subscription_name, callback)
206
204
 
207
205
  The future returned by the call to ``subscriber.subscribe`` can be used to
@@ -245,7 +243,7 @@ For example, to use JSON Web Tokens, provide a `google.auth.jwt.Credentials`_ in
245
243
 
246
244
  # The same for the publisher, except that the "audience" claim needs to be adjusted
247
245
  publisher_audience = "https://pubsub.googleapis.com/google.pubsub.v1.Publisher"
248
- credentials_pub = credentials.with_claims(audience=publisher_audience)
246
+ credentials_pub = credentials.with_claims(audience=publisher_audience)
249
247
  publisher = pubsub_v1.PublisherClient(credentials=credentials_pub)
250
248
 
251
249
  .. _Credentials: https://google-auth.readthedocs.io/en/latest/reference/google.auth.credentials.html#google.auth.credentials.Credentials
@@ -1,7 +1,7 @@
1
1
  Python Client for Google Cloud Pub / Sub
2
2
  ========================================
3
3
 
4
- |GA| |pypi| |versions|
4
+ |GA| |pypi| |versions|
5
5
 
6
6
  `Google Cloud Pub / Sub`_ is a fully-managed real-time messaging service that
7
7
  allows you to send and receive messages between independent applications. You
@@ -60,11 +60,13 @@ dependencies.
60
60
 
61
61
  Supported Python Versions
62
62
  ^^^^^^^^^^^^^^^^^^^^^^^^^
63
- Python >= 3.7
63
+ Python >= 3.9
64
64
 
65
65
  Deprecated Python Versions
66
66
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
67
- Python <= 3.6.
67
+ Python < 3.9
68
+
69
+ The last version of this library compatible with Python 3.7 and 3.8 is google-cloud-pubsub==2.34.0.
68
70
 
69
71
  The last version of this library compatible with Python 2.7 is google-cloud-pubsub==1.7.0.
70
72
 
@@ -146,7 +148,7 @@ the topic, and subscribe to that, passing a callback function.
146
148
 
147
149
  with pubsub_v1.SubscriberClient() as subscriber:
148
150
  subscriber.create_subscription(
149
- name=subscription_name, topic=topic_name)
151
+ name=subscription_name, topic=topic_name)
150
152
  future = subscriber.subscribe(subscription_name, callback)
151
153
 
152
154
  The future returned by the call to ``subscriber.subscribe`` can be used to
@@ -190,7 +192,7 @@ For example, to use JSON Web Tokens, provide a `google.auth.jwt.Credentials`_ in
190
192
 
191
193
  # The same for the publisher, except that the "audience" claim needs to be adjusted
192
194
  publisher_audience = "https://pubsub.googleapis.com/google.pubsub.v1.Publisher"
193
- credentials_pub = credentials.with_claims(audience=publisher_audience)
195
+ credentials_pub = credentials.with_claims(audience=publisher_audience)
194
196
  publisher = pubsub_v1.PublisherClient(credentials=credentials_pub)
195
197
 
196
198
  .. _Credentials: https://google-auth.readthedocs.io/en/latest/reference/google.auth.credentials.html#google.auth.credentials.Credentials
@@ -28,6 +28,7 @@ from google.pubsub_v1.services.subscriber.client import SubscriberClient
28
28
  from google.pubsub_v1.services.subscriber.async_client import SubscriberAsyncClient
29
29
 
30
30
  from google.pubsub_v1.types.pubsub import AcknowledgeRequest
31
+ from google.pubsub_v1.types.pubsub import AIInference
31
32
  from google.pubsub_v1.types.pubsub import BigQueryConfig
32
33
  from google.pubsub_v1.types.pubsub import CloudStorageConfig
33
34
  from google.pubsub_v1.types.pubsub import CreateSnapshotRequest
@@ -104,6 +105,7 @@ __all__ = (
104
105
  "SubscriberClient",
105
106
  "SubscriberAsyncClient",
106
107
  "AcknowledgeRequest",
108
+ "AIInference",
107
109
  "BigQueryConfig",
108
110
  "CloudStorageConfig",
109
111
  "CreateSnapshotRequest",
@@ -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.34.0" # {x-release-please-version}
16
+ __version__ = "2.35.0" # {x-release-please-version}
@@ -36,6 +36,7 @@ from .services.subscriber import SubscriberClient
36
36
  from .services.subscriber import SubscriberAsyncClient
37
37
 
38
38
  from .types.pubsub import AcknowledgeRequest
39
+ from .types.pubsub import AIInference
39
40
  from .types.pubsub import BigQueryConfig
40
41
  from .types.pubsub import CloudStorageConfig
41
42
  from .types.pubsub import CreateSnapshotRequest
@@ -202,6 +203,7 @@ __all__ = (
202
203
  "PublisherAsyncClient",
203
204
  "SchemaServiceAsyncClient",
204
205
  "SubscriberAsyncClient",
206
+ "AIInference",
205
207
  "AcknowledgeRequest",
206
208
  "BigQueryConfig",
207
209
  "CloudStorageConfig",
@@ -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.34.0" # {x-release-please-version}
16
+ __version__ = "2.35.0" # {x-release-please-version}
@@ -339,14 +339,14 @@ class PublisherAsyncClient:
339
339
  request (Optional[Union[google.pubsub_v1.types.Topic, dict]]):
340
340
  The request object. A topic resource.
341
341
  name (:class:`str`):
342
- Required. The name of the topic. It must have the format
343
- ``"projects/{project}/topics/{topic}"``. ``{topic}``
344
- must start with a letter, and contain only letters
345
- (``[A-Za-z]``), numbers (``[0-9]``), dashes (``-``),
346
- underscores (``_``), periods (``.``), tildes (``~``),
347
- plus (``+``) or percent signs (``%``). It must be
348
- between 3 and 255 characters in length, and it must not
349
- start with ``"goog"``.
342
+ Required. Identifier. The name of the topic. It must
343
+ have the format ``"projects/{project}/topics/{topic}"``.
344
+ ``{topic}`` must start with a letter, and contain only
345
+ letters (``[A-Za-z]``), numbers (``[0-9]``), dashes
346
+ (``-``), underscores (``_``), periods (``.``), tildes
347
+ (``~``), plus (``+``) or percent signs (``%``). It must
348
+ be between 3 and 255 characters in length, and it must
349
+ not start with ``"goog"``.
350
350
 
351
351
  This corresponds to the ``name`` field
352
352
  on the ``request`` instance; if ``request`` is provided, this
@@ -868,14 +868,14 @@ class PublisherClient(metaclass=PublisherClientMeta):
868
868
  request (Union[google.pubsub_v1.types.Topic, dict]):
869
869
  The request object. A topic resource.
870
870
  name (str):
871
- Required. The name of the topic. It must have the format
872
- ``"projects/{project}/topics/{topic}"``. ``{topic}``
873
- must start with a letter, and contain only letters
874
- (``[A-Za-z]``), numbers (``[0-9]``), dashes (``-``),
875
- underscores (``_``), periods (``.``), tildes (``~``),
876
- plus (``+``) or percent signs (``%``). It must be
877
- between 3 and 255 characters in length, and it must not
878
- start with ``"goog"``.
871
+ Required. Identifier. The name of the topic. It must
872
+ have the format ``"projects/{project}/topics/{topic}"``.
873
+ ``{topic}`` must start with a letter, and contain only
874
+ letters (``[A-Za-z]``), numbers (``[0-9]``), dashes
875
+ (``-``), underscores (``_``), periods (``.``), tildes
876
+ (``~``), plus (``+``) or percent signs (``%``). It must
877
+ be between 3 and 255 characters in length, and it must
878
+ not start with ``"goog"``.
879
879
 
880
880
  This corresponds to the ``name`` field
881
881
  on the ``request`` instance; if ``request`` is provided, this
@@ -360,8 +360,8 @@ class SubscriberAsyncClient:
360
360
  then the subscriber will pull and ack messages using API
361
361
  methods. At most one of these fields may be set.
362
362
  name (:class:`str`):
363
- Required. The name of the subscription. It must have the
364
- format
363
+ Required. Identifier. The name of the subscription. It
364
+ must have the format
365
365
  ``"projects/{project}/subscriptions/{subscription}"``.
366
366
  ``{subscription}`` must start with a letter, and contain
367
367
  only letters (``[A-Za-z]``), numbers (``[0-9]``), dashes
@@ -872,8 +872,8 @@ class SubscriberClient(metaclass=SubscriberClientMeta):
872
872
  then the subscriber will pull and ack messages using API
873
873
  methods. At most one of these fields may be set.
874
874
  name (str):
875
- Required. The name of the subscription. It must have the
876
- format
875
+ Required. Identifier. The name of the subscription. It
876
+ must have the format
877
877
  ``"projects/{project}/subscriptions/{subscription}"``.
878
878
  ``{subscription}`` must start with a letter, and contain
879
879
  only letters (``[A-Za-z]``), numbers (``[0-9]``), dashes
@@ -17,6 +17,7 @@ from typing import Union
17
17
 
18
18
  from .pubsub import (
19
19
  AcknowledgeRequest,
20
+ AIInference,
20
21
  BigQueryConfig,
21
22
  CloudStorageConfig,
22
23
  CreateSnapshotRequest,
@@ -99,6 +100,7 @@ TimeoutType = Union[
99
100
  __all__ = (
100
101
  "TimeoutType",
101
102
  "AcknowledgeRequest",
103
+ "AIInference",
102
104
  "BigQueryConfig",
103
105
  "CloudStorageConfig",
104
106
  "CreateSnapshotRequest",
@@ -21,6 +21,7 @@ import proto # type: ignore
21
21
 
22
22
  from google.protobuf import duration_pb2 # type: ignore
23
23
  from google.protobuf import field_mask_pb2 # type: ignore
24
+ from google.protobuf import struct_pb2 # type: ignore
24
25
  from google.protobuf import timestamp_pb2 # type: ignore
25
26
  from google.pubsub_v1.types import schema as gp_schema
26
27
 
@@ -34,6 +35,7 @@ __protobuf__ = proto.module(
34
35
  "PlatformLogsSettings",
35
36
  "IngestionFailureEvent",
36
37
  "JavaScriptUDF",
38
+ "AIInference",
37
39
  "MessageTransform",
38
40
  "Topic",
39
41
  "PubsubMessage",
@@ -1344,9 +1346,78 @@ class JavaScriptUDF(proto.Message):
1344
1346
  )
1345
1347
 
1346
1348
 
1349
+ class AIInference(proto.Message):
1350
+ r"""Configuration for making inference requests against Vertex AI
1351
+ models.
1352
+
1353
+
1354
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
1355
+
1356
+ Attributes:
1357
+ endpoint (str):
1358
+ Required. An endpoint to a Vertex AI model of the form
1359
+ ``projects/{project}/locations/{location}/endpoints/{endpoint}``
1360
+ or
1361
+ ``projects/{project}/locations/{location}/publishers/{publisher}/models/{model}``.
1362
+ Vertex AI API requests will be sent to this endpoint.
1363
+ unstructured_inference (google.pubsub_v1.types.AIInference.UnstructuredInference):
1364
+ Optional. Requests and responses can be any
1365
+ arbitrary JSON object.
1366
+
1367
+ This field is a member of `oneof`_ ``inference_mode``.
1368
+ service_account_email (str):
1369
+ Optional. The service account to use to make prediction
1370
+ requests against endpoints. The resource creator or updater
1371
+ that specifies this field must have
1372
+ ``iam.serviceAccounts.actAs`` permission on the service
1373
+ account. If not specified, the Pub/Sub `service
1374
+ agent <{$universe.dns_names.final_documentation_domain}/iam/docs/service-agents>`__,
1375
+ service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com,
1376
+ is used.
1377
+ """
1378
+
1379
+ class UnstructuredInference(proto.Message):
1380
+ r"""Configuration for making inferences using arbitrary JSON
1381
+ payloads.
1382
+
1383
+ Attributes:
1384
+ parameters (google.protobuf.struct_pb2.Struct):
1385
+ Optional. A parameters object to be included
1386
+ in each inference request. The parameters object
1387
+ is combined with the data field of the Pub/Sub
1388
+ message to form the inference request.
1389
+ """
1390
+
1391
+ parameters: struct_pb2.Struct = proto.Field(
1392
+ proto.MESSAGE,
1393
+ number=1,
1394
+ message=struct_pb2.Struct,
1395
+ )
1396
+
1397
+ endpoint: str = proto.Field(
1398
+ proto.STRING,
1399
+ number=1,
1400
+ )
1401
+ unstructured_inference: UnstructuredInference = proto.Field(
1402
+ proto.MESSAGE,
1403
+ number=2,
1404
+ oneof="inference_mode",
1405
+ message=UnstructuredInference,
1406
+ )
1407
+ service_account_email: str = proto.Field(
1408
+ proto.STRING,
1409
+ number=3,
1410
+ )
1411
+
1412
+
1347
1413
  class MessageTransform(proto.Message):
1348
1414
  r"""All supported message transforms types.
1349
1415
 
1416
+ This message has `oneof`_ fields (mutually exclusive fields).
1417
+ For each oneof, at most one member field can be set at the same time.
1418
+ Setting any member of the oneof automatically clears all other
1419
+ members.
1420
+
1350
1421
  .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
1351
1422
 
1352
1423
  Attributes:
@@ -1355,6 +1426,13 @@ class MessageTransform(proto.Message):
1355
1426
  JavaScriptUDF's are specified on a resource, each must have
1356
1427
  a unique ``function_name``.
1357
1428
 
1429
+ This field is a member of `oneof`_ ``transform``.
1430
+ ai_inference (google.pubsub_v1.types.AIInference):
1431
+ Optional. AI Inference. Specifies the Vertex
1432
+ AI endpoint that inference requests built from
1433
+ the Pub/Sub message data and provided parameters
1434
+ will be sent to.
1435
+
1358
1436
  This field is a member of `oneof`_ ``transform``.
1359
1437
  enabled (bool):
1360
1438
  Optional. This field is deprecated, use the ``disabled``
@@ -1370,6 +1448,12 @@ class MessageTransform(proto.Message):
1370
1448
  oneof="transform",
1371
1449
  message="JavaScriptUDF",
1372
1450
  )
1451
+ ai_inference: "AIInference" = proto.Field(
1452
+ proto.MESSAGE,
1453
+ number=6,
1454
+ oneof="transform",
1455
+ message="AIInference",
1456
+ )
1373
1457
  enabled: bool = proto.Field(
1374
1458
  proto.BOOL,
1375
1459
  number=3,
@@ -1385,10 +1469,10 @@ class Topic(proto.Message):
1385
1469
 
1386
1470
  Attributes:
1387
1471
  name (str):
1388
- Required. The name of the topic. It must have the format
1389
- ``"projects/{project}/topics/{topic}"``. ``{topic}`` must
1390
- start with a letter, and contain only letters
1391
- (``[A-Za-z]``), numbers (``[0-9]``), dashes (``-``),
1472
+ Required. Identifier. The name of the topic. It must have
1473
+ the format ``"projects/{project}/topics/{topic}"``.
1474
+ ``{topic}`` must start with a letter, and contain only
1475
+ letters (``[A-Za-z]``), numbers (``[0-9]``), dashes (``-``),
1392
1476
  underscores (``_``), periods (``.``), tildes (``~``), plus
1393
1477
  (``+``) or percent signs (``%``). It must be between 3 and
1394
1478
  255 characters in length, and it must not start with
@@ -1442,7 +1526,11 @@ class Topic(proto.Message):
1442
1526
  example:
1443
1527
 
1444
1528
  "123/environment": "production",
1445
- "123/costCenter": "marketing".
1529
+ "123/costCenter": "marketing"
1530
+ See
1531
+ https://docs.cloud.google.com/pubsub/docs/tags
1532
+ for more information on using tags with Pub/Sub
1533
+ resources.
1446
1534
  """
1447
1535
 
1448
1536
  class State(proto.Enum):
@@ -1889,8 +1977,8 @@ class Subscription(proto.Message):
1889
1977
 
1890
1978
  Attributes:
1891
1979
  name (str):
1892
- Required. The name of the subscription. It must have the
1893
- format
1980
+ Required. Identifier. The name of the subscription. It must
1981
+ have the format
1894
1982
  ``"projects/{project}/subscriptions/{subscription}"``.
1895
1983
  ``{subscription}`` must start with a letter, and contain
1896
1984
  only letters (``[A-Za-z]``), numbers (``[0-9]``), dashes
@@ -2043,7 +2131,7 @@ class Subscription(proto.Message):
2043
2131
  analytics_hub_subscription_info (google.pubsub_v1.types.Subscription.AnalyticsHubSubscriptionInfo):
2044
2132
  Output only. Information about the associated
2045
2133
  Analytics Hub subscription. Only set if the
2046
- subscritpion is created by Analytics Hub.
2134
+ subscription is created by Analytics Hub.
2047
2135
  message_transforms (MutableSequence[google.pubsub_v1.types.MessageTransform]):
2048
2136
  Optional. Transforms to be applied to
2049
2137
  messages before they are delivered to
@@ -2055,7 +2143,11 @@ class Subscription(proto.Message):
2055
2143
  example:
2056
2144
 
2057
2145
  "123/environment": "production",
2058
- "123/costCenter": "marketing".
2146
+ "123/costCenter": "marketing"
2147
+ See
2148
+ https://docs.cloud.google.com/pubsub/docs/tags
2149
+ for more information on using tags with Pub/Sub
2150
+ resources.
2059
2151
  """
2060
2152
 
2061
2153
  class State(proto.Enum):
@@ -2530,6 +2622,10 @@ class BigQueryConfig(proto.Message):
2530
2622
  Cannot write to the destination because enforce_in_transit
2531
2623
  is set to true and the destination locations are not in the
2532
2624
  allowed regions.
2625
+ VERTEX_AI_LOCATION_RESTRICTION (6):
2626
+ Cannot write to the BigQuery table because the table is not
2627
+ in the same location as where Vertex AI models used in
2628
+ ``message_transform``\ s are deployed.
2533
2629
  """
2534
2630
  STATE_UNSPECIFIED = 0
2535
2631
  ACTIVE = 1
@@ -2537,6 +2633,7 @@ class BigQueryConfig(proto.Message):
2537
2633
  NOT_FOUND = 3
2538
2634
  SCHEMA_MISMATCH = 4
2539
2635
  IN_TRANSIT_LOCATION_RESTRICTION = 5
2636
+ VERTEX_AI_LOCATION_RESTRICTION = 6
2540
2637
 
2541
2638
  table: str = proto.Field(
2542
2639
  proto.STRING,
@@ -2663,6 +2760,10 @@ class CloudStorageConfig(proto.Message):
2663
2760
  Cannot write to the Cloud Storage bucket due
2664
2761
  to an incompatibility between the topic schema
2665
2762
  and subscription settings.
2763
+ VERTEX_AI_LOCATION_RESTRICTION (6):
2764
+ Cannot write to the Cloud Storage bucket because the bucket
2765
+ is not in the same location as where Vertex AI models used
2766
+ in ``message_transform``\ s are deployed.
2666
2767
  """
2667
2768
  STATE_UNSPECIFIED = 0
2668
2769
  ACTIVE = 1
@@ -2670,6 +2771,7 @@ class CloudStorageConfig(proto.Message):
2670
2771
  NOT_FOUND = 3
2671
2772
  IN_TRANSIT_LOCATION_RESTRICTION = 4
2672
2773
  SCHEMA_MISMATCH = 5
2774
+ VERTEX_AI_LOCATION_RESTRICTION = 6
2673
2775
 
2674
2776
  class TextConfig(proto.Message):
2675
2777
  r"""Configuration for writing message data in text format.
@@ -3354,7 +3456,11 @@ class CreateSnapshotRequest(proto.Message):
3354
3456
  example:
3355
3457
 
3356
3458
  "123/environment": "production",
3357
- "123/costCenter": "marketing".
3459
+ "123/costCenter": "marketing"
3460
+ See
3461
+ https://docs.cloud.google.com/pubsub/docs/tags
3462
+ for more information on using tags with Pub/Sub
3463
+ resources.
3358
3464
  """
3359
3465
 
3360
3466
  name: str = proto.Field(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-pubsub
3
- Version: 2.34.0
3
+ Version: 2.35.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
@@ -12,8 +12,6 @@ Classifier: Intended Audience :: Developers
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.7
16
- Classifier: Programming Language :: Python :: 3.8
17
15
  Classifier: Programming Language :: Python :: 3.9
18
16
  Classifier: Programming Language :: Python :: 3.10
19
17
  Classifier: Programming Language :: Python :: 3.11
@@ -22,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.13
22
20
  Classifier: Programming Language :: Python :: 3.14
23
21
  Classifier: Operating System :: OS Independent
24
22
  Classifier: Topic :: Internet
25
- Requires-Python: >=3.7
23
+ Requires-Python: >=3.9
26
24
  License-File: LICENSE
27
25
  Requires-Dist: grpcio<2.0.0,>=1.51.3; python_version < "3.14"
28
26
  Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
@@ -34,10 +32,8 @@ Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
34
32
  Requires-Dist: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2
35
33
  Requires-Dist: grpc-google-iam-v1<1.0.0,>=0.12.4
36
34
  Requires-Dist: grpcio-status>=1.33.2
37
- Requires-Dist: opentelemetry-api<=1.22.0; python_version <= "3.7"
38
- Requires-Dist: opentelemetry-api>=1.27.0; python_version >= "3.8"
39
- Requires-Dist: opentelemetry-sdk<=1.22.0; python_version <= "3.7"
40
- Requires-Dist: opentelemetry-sdk>=1.27.0; python_version >= "3.8"
35
+ Requires-Dist: opentelemetry-api>=1.27.0
36
+ Requires-Dist: opentelemetry-sdk>=1.27.0
41
37
  Provides-Extra: libcst
42
38
  Requires-Dist: libcst>=0.3.10; extra == "libcst"
43
39
  Dynamic: author
@@ -56,7 +52,7 @@ Dynamic: summary
56
52
  Python Client for Google Cloud Pub / Sub
57
53
  ========================================
58
54
 
59
- |GA| |pypi| |versions|
55
+ |GA| |pypi| |versions|
60
56
 
61
57
  `Google Cloud Pub / Sub`_ is a fully-managed real-time messaging service that
62
58
  allows you to send and receive messages between independent applications. You
@@ -115,11 +111,13 @@ dependencies.
115
111
 
116
112
  Supported Python Versions
117
113
  ^^^^^^^^^^^^^^^^^^^^^^^^^
118
- Python >= 3.7
114
+ Python >= 3.9
119
115
 
120
116
  Deprecated Python Versions
121
117
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
122
- Python <= 3.6.
118
+ Python < 3.9
119
+
120
+ The last version of this library compatible with Python 3.7 and 3.8 is google-cloud-pubsub==2.34.0.
123
121
 
124
122
  The last version of this library compatible with Python 2.7 is google-cloud-pubsub==1.7.0.
125
123
 
@@ -201,7 +199,7 @@ the topic, and subscribe to that, passing a callback function.
201
199
 
202
200
  with pubsub_v1.SubscriberClient() as subscriber:
203
201
  subscriber.create_subscription(
204
- name=subscription_name, topic=topic_name)
202
+ name=subscription_name, topic=topic_name)
205
203
  future = subscriber.subscribe(subscription_name, callback)
206
204
 
207
205
  The future returned by the call to ``subscriber.subscribe`` can be used to
@@ -245,7 +243,7 @@ For example, to use JSON Web Tokens, provide a `google.auth.jwt.Credentials`_ in
245
243
 
246
244
  # The same for the publisher, except that the "audience" claim needs to be adjusted
247
245
  publisher_audience = "https://pubsub.googleapis.com/google.pubsub.v1.Publisher"
248
- credentials_pub = credentials.with_claims(audience=publisher_audience)
246
+ credentials_pub = credentials.with_claims(audience=publisher_audience)
249
247
  publisher = pubsub_v1.PublisherClient(credentials=credentials_pub)
250
248
 
251
249
  .. _Credentials: https://google-auth.readthedocs.io/en/latest/reference/google.auth.credentials.html#google.auth.credentials.Credentials
@@ -4,14 +4,12 @@ proto-plus<2.0.0,>=1.22.0
4
4
  protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<7.0.0,>=3.20.2
5
5
  grpc-google-iam-v1<1.0.0,>=0.12.4
6
6
  grpcio-status>=1.33.2
7
+ opentelemetry-api>=1.27.0
8
+ opentelemetry-sdk>=1.27.0
7
9
 
8
10
  [:python_version < "3.14"]
9
11
  grpcio<2.0.0,>=1.51.3
10
12
 
11
- [:python_version <= "3.7"]
12
- opentelemetry-api<=1.22.0
13
- opentelemetry-sdk<=1.22.0
14
-
15
13
  [:python_version >= "3.11"]
16
14
  proto-plus<2.0.0,>=1.22.2
17
15
 
@@ -21,9 +19,5 @@ proto-plus<2.0.0,>=1.25.0
21
19
  [:python_version >= "3.14"]
22
20
  grpcio<2.0.0,>=1.75.1
23
21
 
24
- [:python_version >= "3.8"]
25
- opentelemetry-api>=1.27.0
26
- opentelemetry-sdk>=1.27.0
27
-
28
22
  [libcst]
29
23
  libcst>=0.3.10
@@ -51,10 +51,8 @@ dependencies = [
51
51
  "protobuf>=3.20.2,<7.0.0,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5",
52
52
  "grpc-google-iam-v1 >= 0.12.4, < 1.0.0",
53
53
  "grpcio-status >= 1.33.2",
54
- "opentelemetry-api <= 1.22.0; python_version<='3.7'",
55
- "opentelemetry-api >= 1.27.0; python_version>='3.8'",
56
- "opentelemetry-sdk <= 1.22.0; python_version<='3.7'",
57
- "opentelemetry-sdk >= 1.27.0; python_version>='3.8'",
54
+ "opentelemetry-api >= 1.27.0",
55
+ "opentelemetry-sdk >= 1.27.0",
58
56
  ]
59
57
  extras = {"libcst": "libcst >= 0.3.10"}
60
58
  url = "https://github.com/googleapis/python-pubsub"
@@ -86,8 +84,6 @@ setuptools.setup(
86
84
  "License :: OSI Approved :: Apache Software License",
87
85
  "Programming Language :: Python",
88
86
  "Programming Language :: Python :: 3",
89
- "Programming Language :: Python :: 3.7",
90
- "Programming Language :: Python :: 3.8",
91
87
  "Programming Language :: Python :: 3.9",
92
88
  "Programming Language :: Python :: 3.10",
93
89
  "Programming Language :: Python :: 3.11",
@@ -101,7 +97,7 @@ setuptools.setup(
101
97
  packages=packages,
102
98
  install_requires=dependencies,
103
99
  extras_require=extras,
104
- python_requires=">=3.7",
100
+ python_requires=">=3.9",
105
101
  include_package_data=True,
106
102
  zip_safe=False,
107
103
  )
@@ -20,16 +20,11 @@ import itertools
20
20
  import operator as op
21
21
  import os
22
22
  import psutil
23
- import sys
24
23
  import threading
25
24
  import time
26
25
  from typing import Any, Callable, cast, TypeVar
27
26
 
28
- # special case python < 3.8
29
- if sys.version_info.major == 3 and sys.version_info.minor < 8:
30
- import mock
31
- else:
32
- from unittest import mock
27
+ from unittest import mock
33
28
 
34
29
  from flaky import flaky
35
30
  import pytest