google-cloud-spanner 3.55.0__py3-none-any.whl

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 (119) hide show
  1. google/cloud/spanner.py +47 -0
  2. google/cloud/spanner_admin_database_v1/__init__.py +146 -0
  3. google/cloud/spanner_admin_database_v1/gapic_metadata.json +418 -0
  4. google/cloud/spanner_admin_database_v1/gapic_version.py +16 -0
  5. google/cloud/spanner_admin_database_v1/py.typed +2 -0
  6. google/cloud/spanner_admin_database_v1/services/__init__.py +15 -0
  7. google/cloud/spanner_admin_database_v1/services/database_admin/__init__.py +22 -0
  8. google/cloud/spanner_admin_database_v1/services/database_admin/async_client.py +4097 -0
  9. google/cloud/spanner_admin_database_v1/services/database_admin/client.py +4602 -0
  10. google/cloud/spanner_admin_database_v1/services/database_admin/pagers.py +989 -0
  11. google/cloud/spanner_admin_database_v1/services/database_admin/transports/__init__.py +38 -0
  12. google/cloud/spanner_admin_database_v1/services/database_admin/transports/base.py +820 -0
  13. google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc.py +1303 -0
  14. google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc_asyncio.py +1688 -0
  15. google/cloud/spanner_admin_database_v1/services/database_admin/transports/rest.py +6512 -0
  16. google/cloud/spanner_admin_database_v1/services/database_admin/transports/rest_base.py +1650 -0
  17. google/cloud/spanner_admin_database_v1/types/__init__.py +144 -0
  18. google/cloud/spanner_admin_database_v1/types/backup.py +1106 -0
  19. google/cloud/spanner_admin_database_v1/types/backup_schedule.py +369 -0
  20. google/cloud/spanner_admin_database_v1/types/common.py +180 -0
  21. google/cloud/spanner_admin_database_v1/types/spanner_database_admin.py +1303 -0
  22. google/cloud/spanner_admin_instance_v1/__init__.py +110 -0
  23. google/cloud/spanner_admin_instance_v1/gapic_metadata.json +343 -0
  24. google/cloud/spanner_admin_instance_v1/gapic_version.py +16 -0
  25. google/cloud/spanner_admin_instance_v1/py.typed +2 -0
  26. google/cloud/spanner_admin_instance_v1/services/__init__.py +15 -0
  27. google/cloud/spanner_admin_instance_v1/services/instance_admin/__init__.py +22 -0
  28. google/cloud/spanner_admin_instance_v1/services/instance_admin/async_client.py +3466 -0
  29. google/cloud/spanner_admin_instance_v1/services/instance_admin/client.py +3881 -0
  30. google/cloud/spanner_admin_instance_v1/services/instance_admin/pagers.py +856 -0
  31. google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/__init__.py +38 -0
  32. google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/base.py +545 -0
  33. google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc.py +1347 -0
  34. google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc_asyncio.py +1539 -0
  35. google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/rest.py +4834 -0
  36. google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/rest_base.py +1198 -0
  37. google/cloud/spanner_admin_instance_v1/types/__init__.py +104 -0
  38. google/cloud/spanner_admin_instance_v1/types/common.py +99 -0
  39. google/cloud/spanner_admin_instance_v1/types/spanner_instance_admin.py +2375 -0
  40. google/cloud/spanner_dbapi/__init__.py +93 -0
  41. google/cloud/spanner_dbapi/_helpers.py +113 -0
  42. google/cloud/spanner_dbapi/batch_dml_executor.py +135 -0
  43. google/cloud/spanner_dbapi/checksum.py +80 -0
  44. google/cloud/spanner_dbapi/client_side_statement_executor.py +140 -0
  45. google/cloud/spanner_dbapi/client_side_statement_parser.py +106 -0
  46. google/cloud/spanner_dbapi/connection.py +818 -0
  47. google/cloud/spanner_dbapi/cursor.py +609 -0
  48. google/cloud/spanner_dbapi/exceptions.py +172 -0
  49. google/cloud/spanner_dbapi/parse_utils.py +392 -0
  50. google/cloud/spanner_dbapi/parsed_statement.py +63 -0
  51. google/cloud/spanner_dbapi/parser.py +258 -0
  52. google/cloud/spanner_dbapi/partition_helper.py +41 -0
  53. google/cloud/spanner_dbapi/transaction_helper.py +294 -0
  54. google/cloud/spanner_dbapi/types.py +106 -0
  55. google/cloud/spanner_dbapi/utils.py +147 -0
  56. google/cloud/spanner_dbapi/version.py +20 -0
  57. google/cloud/spanner_v1/__init__.py +154 -0
  58. google/cloud/spanner_v1/_helpers.py +751 -0
  59. google/cloud/spanner_v1/_opentelemetry_tracing.py +165 -0
  60. google/cloud/spanner_v1/backup.py +397 -0
  61. google/cloud/spanner_v1/batch.py +433 -0
  62. google/cloud/spanner_v1/client.py +538 -0
  63. google/cloud/spanner_v1/data_types.py +350 -0
  64. google/cloud/spanner_v1/database.py +1968 -0
  65. google/cloud/spanner_v1/database_sessions_manager.py +249 -0
  66. google/cloud/spanner_v1/gapic_metadata.json +268 -0
  67. google/cloud/spanner_v1/gapic_version.py +16 -0
  68. google/cloud/spanner_v1/instance.py +735 -0
  69. google/cloud/spanner_v1/keyset.py +193 -0
  70. google/cloud/spanner_v1/merged_result_set.py +146 -0
  71. google/cloud/spanner_v1/metrics/constants.py +71 -0
  72. google/cloud/spanner_v1/metrics/metrics_capture.py +75 -0
  73. google/cloud/spanner_v1/metrics/metrics_exporter.py +384 -0
  74. google/cloud/spanner_v1/metrics/metrics_interceptor.py +156 -0
  75. google/cloud/spanner_v1/metrics/metrics_tracer.py +588 -0
  76. google/cloud/spanner_v1/metrics/metrics_tracer_factory.py +328 -0
  77. google/cloud/spanner_v1/metrics/spanner_metrics_tracer_factory.py +172 -0
  78. google/cloud/spanner_v1/param_types.py +110 -0
  79. google/cloud/spanner_v1/pool.py +813 -0
  80. google/cloud/spanner_v1/py.typed +2 -0
  81. google/cloud/spanner_v1/request_id_header.py +64 -0
  82. google/cloud/spanner_v1/services/__init__.py +15 -0
  83. google/cloud/spanner_v1/services/spanner/__init__.py +22 -0
  84. google/cloud/spanner_v1/services/spanner/async_client.py +2205 -0
  85. google/cloud/spanner_v1/services/spanner/client.py +2624 -0
  86. google/cloud/spanner_v1/services/spanner/pagers.py +196 -0
  87. google/cloud/spanner_v1/services/spanner/transports/__init__.py +38 -0
  88. google/cloud/spanner_v1/services/spanner/transports/base.py +520 -0
  89. google/cloud/spanner_v1/services/spanner/transports/grpc.py +911 -0
  90. google/cloud/spanner_v1/services/spanner/transports/grpc_asyncio.py +1144 -0
  91. google/cloud/spanner_v1/services/spanner/transports/rest.py +3468 -0
  92. google/cloud/spanner_v1/services/spanner/transports/rest_base.py +981 -0
  93. google/cloud/spanner_v1/session.py +631 -0
  94. google/cloud/spanner_v1/session_options.py +133 -0
  95. google/cloud/spanner_v1/snapshot.py +1057 -0
  96. google/cloud/spanner_v1/streamed.py +402 -0
  97. google/cloud/spanner_v1/table.py +181 -0
  98. google/cloud/spanner_v1/testing/__init__.py +0 -0
  99. google/cloud/spanner_v1/testing/database_test.py +121 -0
  100. google/cloud/spanner_v1/testing/interceptors.py +118 -0
  101. google/cloud/spanner_v1/testing/mock_database_admin.py +38 -0
  102. google/cloud/spanner_v1/testing/mock_spanner.py +261 -0
  103. google/cloud/spanner_v1/testing/spanner_database_admin_pb2_grpc.py +1267 -0
  104. google/cloud/spanner_v1/testing/spanner_pb2_grpc.py +882 -0
  105. google/cloud/spanner_v1/transaction.py +747 -0
  106. google/cloud/spanner_v1/types/__init__.py +118 -0
  107. google/cloud/spanner_v1/types/commit_response.py +94 -0
  108. google/cloud/spanner_v1/types/keys.py +248 -0
  109. google/cloud/spanner_v1/types/mutation.py +201 -0
  110. google/cloud/spanner_v1/types/query_plan.py +220 -0
  111. google/cloud/spanner_v1/types/result_set.py +379 -0
  112. google/cloud/spanner_v1/types/spanner.py +1815 -0
  113. google/cloud/spanner_v1/types/transaction.py +818 -0
  114. google/cloud/spanner_v1/types/type.py +288 -0
  115. google_cloud_spanner-3.55.0.dist-info/LICENSE +202 -0
  116. google_cloud_spanner-3.55.0.dist-info/METADATA +318 -0
  117. google_cloud_spanner-3.55.0.dist-info/RECORD +119 -0
  118. google_cloud_spanner-3.55.0.dist-info/WHEEL +5 -0
  119. google_cloud_spanner-3.55.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,196 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2025 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from google.api_core import gapic_v1
17
+ from google.api_core import retry as retries
18
+ from google.api_core import retry_async as retries_async
19
+ from typing import (
20
+ Any,
21
+ AsyncIterator,
22
+ Awaitable,
23
+ Callable,
24
+ Sequence,
25
+ Tuple,
26
+ Optional,
27
+ Iterator,
28
+ Union,
29
+ )
30
+
31
+ try:
32
+ OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None]
33
+ OptionalAsyncRetry = Union[
34
+ retries_async.AsyncRetry, gapic_v1.method._MethodDefault, None
35
+ ]
36
+ except AttributeError: # pragma: NO COVER
37
+ OptionalRetry = Union[retries.Retry, object, None] # type: ignore
38
+ OptionalAsyncRetry = Union[retries_async.AsyncRetry, object, None] # type: ignore
39
+
40
+ from google.cloud.spanner_v1.types import spanner
41
+
42
+
43
+ class ListSessionsPager:
44
+ """A pager for iterating through ``list_sessions`` requests.
45
+
46
+ This class thinly wraps an initial
47
+ :class:`google.cloud.spanner_v1.types.ListSessionsResponse` object, and
48
+ provides an ``__iter__`` method to iterate through its
49
+ ``sessions`` field.
50
+
51
+ If there are more pages, the ``__iter__`` method will make additional
52
+ ``ListSessions`` requests and continue to iterate
53
+ through the ``sessions`` field on the
54
+ corresponding responses.
55
+
56
+ All the usual :class:`google.cloud.spanner_v1.types.ListSessionsResponse`
57
+ attributes are available on the pager. If multiple requests are made, only
58
+ the most recent response is retained, and thus used for attribute lookup.
59
+ """
60
+
61
+ def __init__(
62
+ self,
63
+ method: Callable[..., spanner.ListSessionsResponse],
64
+ request: spanner.ListSessionsRequest,
65
+ response: spanner.ListSessionsResponse,
66
+ *,
67
+ retry: OptionalRetry = gapic_v1.method.DEFAULT,
68
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
69
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
70
+ ):
71
+ """Instantiate the pager.
72
+
73
+ Args:
74
+ method (Callable): The method that was originally called, and
75
+ which instantiated this pager.
76
+ request (google.cloud.spanner_v1.types.ListSessionsRequest):
77
+ The initial request object.
78
+ response (google.cloud.spanner_v1.types.ListSessionsResponse):
79
+ The initial response object.
80
+ retry (google.api_core.retry.Retry): Designation of what errors,
81
+ if any, should be retried.
82
+ timeout (float): The timeout for this request.
83
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
84
+ sent along with the request as metadata. Normally, each value must be of type `str`,
85
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
86
+ be of type `bytes`.
87
+ """
88
+ self._method = method
89
+ self._request = spanner.ListSessionsRequest(request)
90
+ self._response = response
91
+ self._retry = retry
92
+ self._timeout = timeout
93
+ self._metadata = metadata
94
+
95
+ def __getattr__(self, name: str) -> Any:
96
+ return getattr(self._response, name)
97
+
98
+ @property
99
+ def pages(self) -> Iterator[spanner.ListSessionsResponse]:
100
+ yield self._response
101
+ while self._response.next_page_token:
102
+ self._request.page_token = self._response.next_page_token
103
+ self._response = self._method(
104
+ self._request,
105
+ retry=self._retry,
106
+ timeout=self._timeout,
107
+ metadata=self._metadata,
108
+ )
109
+ yield self._response
110
+
111
+ def __iter__(self) -> Iterator[spanner.Session]:
112
+ for page in self.pages:
113
+ yield from page.sessions
114
+
115
+ def __repr__(self) -> str:
116
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
117
+
118
+
119
+ class ListSessionsAsyncPager:
120
+ """A pager for iterating through ``list_sessions`` requests.
121
+
122
+ This class thinly wraps an initial
123
+ :class:`google.cloud.spanner_v1.types.ListSessionsResponse` object, and
124
+ provides an ``__aiter__`` method to iterate through its
125
+ ``sessions`` field.
126
+
127
+ If there are more pages, the ``__aiter__`` method will make additional
128
+ ``ListSessions`` requests and continue to iterate
129
+ through the ``sessions`` field on the
130
+ corresponding responses.
131
+
132
+ All the usual :class:`google.cloud.spanner_v1.types.ListSessionsResponse`
133
+ attributes are available on the pager. If multiple requests are made, only
134
+ the most recent response is retained, and thus used for attribute lookup.
135
+ """
136
+
137
+ def __init__(
138
+ self,
139
+ method: Callable[..., Awaitable[spanner.ListSessionsResponse]],
140
+ request: spanner.ListSessionsRequest,
141
+ response: spanner.ListSessionsResponse,
142
+ *,
143
+ retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT,
144
+ timeout: Union[float, object] = gapic_v1.method.DEFAULT,
145
+ metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
146
+ ):
147
+ """Instantiates the pager.
148
+
149
+ Args:
150
+ method (Callable): The method that was originally called, and
151
+ which instantiated this pager.
152
+ request (google.cloud.spanner_v1.types.ListSessionsRequest):
153
+ The initial request object.
154
+ response (google.cloud.spanner_v1.types.ListSessionsResponse):
155
+ The initial response object.
156
+ retry (google.api_core.retry.AsyncRetry): Designation of what errors,
157
+ if any, should be retried.
158
+ timeout (float): The timeout for this request.
159
+ metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
160
+ sent along with the request as metadata. Normally, each value must be of type `str`,
161
+ but for metadata keys ending with the suffix `-bin`, the corresponding values must
162
+ be of type `bytes`.
163
+ """
164
+ self._method = method
165
+ self._request = spanner.ListSessionsRequest(request)
166
+ self._response = response
167
+ self._retry = retry
168
+ self._timeout = timeout
169
+ self._metadata = metadata
170
+
171
+ def __getattr__(self, name: str) -> Any:
172
+ return getattr(self._response, name)
173
+
174
+ @property
175
+ async def pages(self) -> AsyncIterator[spanner.ListSessionsResponse]:
176
+ yield self._response
177
+ while self._response.next_page_token:
178
+ self._request.page_token = self._response.next_page_token
179
+ self._response = await self._method(
180
+ self._request,
181
+ retry=self._retry,
182
+ timeout=self._timeout,
183
+ metadata=self._metadata,
184
+ )
185
+ yield self._response
186
+
187
+ def __aiter__(self) -> AsyncIterator[spanner.Session]:
188
+ async def async_generator():
189
+ async for page in self.pages:
190
+ for response in page.sessions:
191
+ yield response
192
+
193
+ return async_generator()
194
+
195
+ def __repr__(self) -> str:
196
+ return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
@@ -0,0 +1,38 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2025 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from collections import OrderedDict
17
+ from typing import Dict, Type
18
+
19
+ from .base import SpannerTransport
20
+ from .grpc import SpannerGrpcTransport
21
+ from .grpc_asyncio import SpannerGrpcAsyncIOTransport
22
+ from .rest import SpannerRestTransport
23
+ from .rest import SpannerRestInterceptor
24
+
25
+
26
+ # Compile a registry of transports.
27
+ _transport_registry = OrderedDict() # type: Dict[str, Type[SpannerTransport]]
28
+ _transport_registry["grpc"] = SpannerGrpcTransport
29
+ _transport_registry["grpc_asyncio"] = SpannerGrpcAsyncIOTransport
30
+ _transport_registry["rest"] = SpannerRestTransport
31
+
32
+ __all__ = (
33
+ "SpannerTransport",
34
+ "SpannerGrpcTransport",
35
+ "SpannerGrpcAsyncIOTransport",
36
+ "SpannerRestTransport",
37
+ "SpannerRestInterceptor",
38
+ )