google-cloud-spanner 3.65.0__tar.gz → 3.67.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 (281) hide show
  1. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/MANIFEST.in +1 -1
  2. {google_cloud_spanner-3.65.0/google_cloud_spanner.egg-info → google_cloud_spanner-3.67.0}/PKG-INFO +20 -22
  3. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/README.rst +9 -13
  4. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/aio/_cross_sync/cross_sync.py +1 -2
  5. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner/__init__.py +1 -1
  6. {google_cloud_spanner-3.65.0/google/cloud/spanner_admin_instance → google_cloud_spanner-3.67.0/google/cloud/spanner}/gapic_version.py +2 -2
  7. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database/__init__.py +1 -1
  8. {google_cloud_spanner-3.65.0/google/cloud/spanner_admin_database_v1 → google_cloud_spanner-3.67.0/google/cloud/spanner_admin_database}/gapic_version.py +2 -2
  9. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/__init__.py +4 -21
  10. {google_cloud_spanner-3.65.0/google/cloud/spanner_admin_database → google_cloud_spanner-3.67.0/google/cloud/spanner_admin_database_v1}/gapic_version.py +2 -2
  11. google_cloud_spanner-3.67.0/google/cloud/spanner_admin_database_v1/py.typed +2 -0
  12. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/__init__.py +1 -1
  13. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/__init__.py +1 -1
  14. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/async_client.py +13 -14
  15. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/client.py +1 -2
  16. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/pagers.py +1 -1
  17. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/__init__.py +1 -1
  18. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/base.py +1 -1
  19. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc.py +1 -1
  20. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/grpc_asyncio.py +1 -1
  21. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/rest.py +1 -1
  22. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/services/database_admin/transports/rest_base.py +1 -1
  23. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/types/__init__.py +1 -1
  24. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/types/backup.py +1 -1
  25. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/types/backup_schedule.py +1 -1
  26. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/types/common.py +1 -1
  27. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/types/spanner_database_admin.py +1 -1
  28. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance/__init__.py +1 -1
  29. {google_cloud_spanner-3.65.0/google/cloud/spanner → google_cloud_spanner-3.67.0/google/cloud/spanner_admin_instance}/gapic_version.py +2 -2
  30. google_cloud_spanner-3.67.0/google/cloud/spanner_admin_instance/py.typed +2 -0
  31. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/__init__.py +4 -21
  32. google_cloud_spanner-3.67.0/google/cloud/spanner_admin_instance_v1/gapic_version.py +16 -0
  33. google_cloud_spanner-3.67.0/google/cloud/spanner_admin_instance_v1/py.typed +2 -0
  34. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/__init__.py +1 -1
  35. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/__init__.py +1 -1
  36. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/async_client.py +15 -16
  37. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/client.py +1 -2
  38. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/pagers.py +1 -1
  39. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/__init__.py +1 -1
  40. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/base.py +1 -1
  41. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc.py +1 -1
  42. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/grpc_asyncio.py +1 -1
  43. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/rest.py +1 -1
  44. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/services/instance_admin/transports/rest_base.py +1 -1
  45. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/types/__init__.py +1 -1
  46. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/types/common.py +1 -1
  47. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/types/spanner_instance_admin.py +1 -1
  48. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/connection.py +53 -10
  49. google_cloud_spanner-3.67.0/google/cloud/spanner_dbapi/partition_helper.py +162 -0
  50. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/version.py +1 -1
  51. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/__init__.py +1 -1
  52. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/_helpers.py +35 -11
  53. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/client.py +100 -21
  54. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/database.py +16 -18
  55. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/database_sessions_manager.py +9 -1
  56. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/instance.py +11 -1
  57. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/testing/database_test.py +7 -7
  58. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_helpers.py +35 -7
  59. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_opentelemetry_tracing.py +2 -6
  60. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/client.py +86 -16
  61. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/database.py +9 -11
  62. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/database_sessions_manager.py +9 -1
  63. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/gapic_metadata.json +15 -0
  64. google_cloud_spanner-3.67.0/google/cloud/spanner_v1/gapic_version.py +16 -0
  65. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/instance.py +11 -1
  66. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/metrics/metrics_interceptor.py +3 -22
  67. google_cloud_spanner-3.67.0/google/cloud/spanner_v1/py.typed +2 -0
  68. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/__init__.py +1 -1
  69. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/__init__.py +1 -1
  70. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/async_client.py +127 -1
  71. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/client.py +124 -1
  72. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/pagers.py +1 -1
  73. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/transports/__init__.py +1 -1
  74. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/transports/base.py +16 -1
  75. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/transports/grpc.py +36 -1
  76. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/transports/grpc_asyncio.py +41 -1
  77. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/transports/rest.py +228 -1
  78. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/services/spanner/transports/rest_base.py +59 -1
  79. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/testing/database_test.py +4 -4
  80. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/testing/mock_spanner.py +14 -2
  81. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/__init__.py +3 -1
  82. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/change_stream.py +1 -1
  83. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/commit_response.py +17 -1
  84. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/keys.py +1 -1
  85. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/location.py +1 -1
  86. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/mutation.py +1 -1
  87. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/query_plan.py +1 -1
  88. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/result_set.py +1 -1
  89. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/spanner.py +34 -1
  90. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/transaction.py +1 -1
  91. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/types/type.py +1 -1
  92. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0/google_cloud_spanner.egg-info}/PKG-INFO +20 -22
  93. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google_cloud_spanner.egg-info/SOURCES.txt +2 -0
  94. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google_cloud_spanner.egg-info/requires.txt +11 -6
  95. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/setup.py +13 -9
  96. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/__init__.py +1 -1
  97. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/_helpers.py +6 -7
  98. google_cloud_spanner-3.67.0/tests/mockserver_tests/test_dbapi_partition_query.py +134 -0
  99. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/_async/conftest.py +6 -9
  100. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/_helpers.py +4 -4
  101. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/conftest.py +9 -12
  102. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_backup_api.py +2 -6
  103. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_database_api.py +9 -9
  104. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_dbapi.py +3 -2
  105. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_instance_api.py +14 -3
  106. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_session_api.py +4 -4
  107. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/testdata/singer_pb2.py +15 -0
  108. google_cloud_spanner-3.67.0/tests/unit/__init__.py +15 -0
  109. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_client.py +156 -0
  110. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_client_extra.py +2 -1
  111. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_session.py +3 -1
  112. google_cloud_spanner-3.67.0/tests/unit/gapic/__init__.py +15 -0
  113. google_cloud_spanner-3.67.0/tests/unit/gapic/spanner_admin_database_v1/__init__.py +15 -0
  114. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/gapic/spanner_admin_database_v1/test_database_admin.py +430 -501
  115. google_cloud_spanner-3.67.0/tests/unit/gapic/spanner_admin_instance_v1/__init__.py +15 -0
  116. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/gapic/spanner_admin_instance_v1/test_instance_admin.py +340 -384
  117. google_cloud_spanner-3.67.0/tests/unit/gapic/spanner_v1/__init__.py +15 -0
  118. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/gapic/spanner_v1/test_spanner.py +1082 -339
  119. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_connect.py +2 -0
  120. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_connection.py +42 -0
  121. google_cloud_spanner-3.67.0/tests/unit/spanner_dbapi/test_partition_helper.py +338 -0
  122. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_client.py +150 -0
  123. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/testdata/singer_pb2.py +15 -0
  124. google_cloud_spanner-3.65.0/google/cloud/spanner_admin_database/py.typed +0 -2
  125. google_cloud_spanner-3.65.0/google/cloud/spanner_admin_database_v1/py.typed +0 -2
  126. google_cloud_spanner-3.65.0/google/cloud/spanner_admin_instance/py.typed +0 -2
  127. google_cloud_spanner-3.65.0/google/cloud/spanner_admin_instance_v1/gapic_version.py +0 -16
  128. google_cloud_spanner-3.65.0/google/cloud/spanner_admin_instance_v1/py.typed +0 -2
  129. google_cloud_spanner-3.65.0/google/cloud/spanner_dbapi/partition_helper.py +0 -40
  130. google_cloud_spanner-3.65.0/google/cloud/spanner_v1/gapic_version.py +0 -16
  131. google_cloud_spanner-3.65.0/tests/unit/__init__.py +0 -15
  132. google_cloud_spanner-3.65.0/tests/unit/gapic/__init__.py +0 -15
  133. google_cloud_spanner-3.65.0/tests/unit/gapic/spanner_admin_database_v1/__init__.py +0 -15
  134. google_cloud_spanner-3.65.0/tests/unit/gapic/spanner_admin_instance_v1/__init__.py +0 -15
  135. google_cloud_spanner-3.65.0/tests/unit/gapic/spanner_v1/__init__.py +0 -15
  136. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/LICENSE +0 -0
  137. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/aio/_cross_sync/__init__.py +0 -0
  138. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/aio/_cross_sync/_decorators.py +0 -0
  139. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/aio/_cross_sync/_mapping_meta.py +0 -0
  140. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner/py.typed +0 -0
  141. {google_cloud_spanner-3.65.0/google/cloud/spanner_v1 → google_cloud_spanner-3.67.0/google/cloud/spanner_admin_database}/py.typed +0 -0
  142. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_database_v1/gapic_metadata.json +0 -0
  143. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_admin_instance_v1/gapic_metadata.json +0 -0
  144. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/__init__.py +0 -0
  145. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/_helpers.py +0 -0
  146. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/batch_dml_executor.py +0 -0
  147. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/checksum.py +0 -0
  148. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/client_side_statement_executor.py +0 -0
  149. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/client_side_statement_parser.py +0 -0
  150. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/cursor.py +0 -0
  151. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/exceptions.py +0 -0
  152. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/parse_utils.py +0 -0
  153. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/parsed_statement.py +0 -0
  154. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/parser.py +0 -0
  155. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/transaction_helper.py +0 -0
  156. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/types.py +0 -0
  157. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_dbapi/utils.py +0 -0
  158. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/batch.py +0 -0
  159. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/pool.py +0 -0
  160. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/session.py +0 -0
  161. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/snapshot.py +0 -0
  162. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/streamed.py +0 -0
  163. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/testing/__init__.py +0 -0
  164. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/testing/interceptors.py +0 -0
  165. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/_async/transaction.py +0 -0
  166. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/backup.py +0 -0
  167. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/batch.py +0 -0
  168. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/data_types.py +0 -0
  169. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/exceptions.py +0 -0
  170. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/keyset.py +0 -0
  171. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/merged_result_set.py +0 -0
  172. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/metrics/constants.py +0 -0
  173. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/metrics/metrics_capture.py +0 -0
  174. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/metrics/metrics_exporter.py +0 -0
  175. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/metrics/metrics_tracer.py +0 -0
  176. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/metrics/metrics_tracer_factory.py +0 -0
  177. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/metrics/spanner_metrics_tracer_factory.py +0 -0
  178. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/param_types.py +0 -0
  179. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/pool.py +0 -0
  180. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/request_id_header.py +0 -0
  181. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/session.py +0 -0
  182. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/snapshot.py +0 -0
  183. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/snapshot_helpers.py +0 -0
  184. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/streamed.py +0 -0
  185. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/table.py +0 -0
  186. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/testing/__init__.py +0 -0
  187. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/testing/interceptors.py +0 -0
  188. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/testing/mock_database_admin.py +0 -0
  189. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/testing/spanner_database_admin_pb2_grpc.py +0 -0
  190. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/testing/spanner_pb2_grpc.py +0 -0
  191. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google/cloud/spanner_v1/transaction.py +0 -0
  192. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google_cloud_spanner.egg-info/dependency_links.txt +0 -0
  193. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google_cloud_spanner.egg-info/not-zip-safe +0 -0
  194. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/google_cloud_spanner.egg-info/top_level.txt +0 -0
  195. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/setup.cfg +0 -0
  196. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/_builders.py +0 -0
  197. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/_fixtures.py +0 -0
  198. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/__init__.py +0 -0
  199. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/mock_server_test_base.py +0 -0
  200. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/test_aborted_transaction.py +0 -0
  201. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/test_basics.py +0 -0
  202. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/test_dbapi_autocommit.py +0 -0
  203. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/test_dbapi_inline_begin.py +0 -0
  204. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/test_dbapi_isolation_level.py +0 -0
  205. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/test_request_id_header.py +0 -0
  206. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/mockserver_tests/test_tags.py +0 -0
  207. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/__init__.py +0 -0
  208. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/_async/__init__.py +0 -0
  209. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/_async/pytest.ini +0 -0
  210. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/_async/test_database_api.py +0 -0
  211. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/_sample_data.py +0 -0
  212. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_metrics.py +0 -0
  213. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_observability_options.py +0 -0
  214. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_streaming_chunking.py +0 -0
  215. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/test_table_api.py +0 -0
  216. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/testdata/descriptors.pb +0 -0
  217. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/testdata/singer.proto +0 -0
  218. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/utils/__init__.py +0 -0
  219. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/utils/clear_streaming.py +0 -0
  220. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/utils/populate_streaming.py +0 -0
  221. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/utils/scrub_instances.py +0 -0
  222. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/system/utils/streaming_utils.py +0 -0
  223. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_batch.py +0 -0
  224. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_database.py +0 -0
  225. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_database_extra.py +0 -0
  226. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_helpers_extra.py +0 -0
  227. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_instance_extra.py +0 -0
  228. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_pool.py +0 -0
  229. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_sessions_manager_extra.py +0 -0
  230. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_snapshot.py +0 -0
  231. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_streamed.py +0 -0
  232. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_streamed_extra.py +0 -0
  233. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_transaction.py +0 -0
  234. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/_async/test_transaction_extra.py +0 -0
  235. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/conftest.py +0 -0
  236. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/gapic/conftest.py +0 -0
  237. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/__init__.py +0 -0
  238. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test__helpers.py +0 -0
  239. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_batch_dml_executor.py +0 -0
  240. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_checksum.py +0 -0
  241. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_client_side_statement_executor.py +0 -0
  242. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_cursor.py +0 -0
  243. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_globals.py +0 -0
  244. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_parse_utils.py +0 -0
  245. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_parser.py +0 -0
  246. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_transaction_helper.py +0 -0
  247. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_types.py +0 -0
  248. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/spanner_dbapi/test_utils.py +0 -0
  249. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/streaming-read-acceptance-test.json +0 -0
  250. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test__helpers.py +0 -0
  251. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test__opentelemetry_tracing.py +0 -0
  252. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_atomic_counter.py +0 -0
  253. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_backup.py +0 -0
  254. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_batch.py +0 -0
  255. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_client_context.py +0 -0
  256. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_database.py +0 -0
  257. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_database_session_manager.py +0 -0
  258. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_datatypes.py +0 -0
  259. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_decorators_extra.py +0 -0
  260. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_exceptions.py +0 -0
  261. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_instance.py +0 -0
  262. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_keyset.py +0 -0
  263. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_merged_result_set.py +0 -0
  264. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_metrics.py +0 -0
  265. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_metrics_capture.py +0 -0
  266. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_metrics_concurrency.py +0 -0
  267. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_metrics_exporter.py +0 -0
  268. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_metrics_interceptor.py +0 -0
  269. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_metrics_tracer.py +0 -0
  270. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_metrics_tracer_factory.py +0 -0
  271. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_packaging.py +0 -0
  272. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_param_types.py +0 -0
  273. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_pool.py +0 -0
  274. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_session.py +0 -0
  275. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_snapshot.py +0 -0
  276. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_spanner.py +0 -0
  277. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_spanner_metrics_tracer_factory.py +0 -0
  278. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_streamed.py +0 -0
  279. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_table.py +0 -0
  280. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/test_transaction.py +0 -0
  281. {google_cloud_spanner-3.65.0 → google_cloud_spanner-3.67.0}/tests/unit/testdata/singer.proto +0 -0
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,18 +1,17 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-spanner
3
- Version: 3.65.0
3
+ Version: 3.67.0
4
4
  Summary: Google Cloud Spanner API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-spanner
6
6
  Author: Google LLC
7
7
  Author-email: googleapis-packages@google.com
8
- License: Apache 2.0
8
+ License: Apache-2.0
9
9
  Platform: Posix; MacOS X; Windows
10
10
  Classifier: Development Status :: 5 - Production/Stable
11
11
  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.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
@@ -20,16 +19,19 @@ Classifier: Programming Language :: Python :: 3.13
20
19
  Classifier: Programming Language :: Python :: 3.14
21
20
  Classifier: Operating System :: OS Independent
22
21
  Classifier: Topic :: Internet
23
- Requires-Python: >=3.9
22
+ Requires-Python: >=3.10
24
23
  License-File: LICENSE
25
- Requires-Dist: google-api-core[grpc]!=2.0.*,!=2.1.*,!=2.10.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*,!=2.8.*,!=2.9.*,<3.0.0,>=1.34.0
26
- Requires-Dist: google-cloud-core<3.0.0,>=1.4.4
24
+ Requires-Dist: google-api-core[grpc]<3.0.0,>=2.17.1
25
+ Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
26
+ Requires-Dist: google-cloud-core<3.0.0,>=2.0.0
27
+ Requires-Dist: grpcio<2.0.0,>=1.49.1
28
+ Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
27
29
  Requires-Dist: grpc-google-iam-v1<1.0.0,>=0.12.4
28
- Requires-Dist: proto-plus<2.0.0,>=1.22.0
29
- Requires-Dist: sqlparse>=0.4.4
30
- Requires-Dist: proto-plus<2.0.0,>=1.22.2; python_version >= "3.11"
30
+ Requires-Dist: proto-plus<2.0.0,>=1.22.3
31
+ Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
31
32
  Requires-Dist: protobuf<8.0.0,>=4.25.8
32
33
  Requires-Dist: grpc-interceptor>=0.15.4
34
+ Requires-Dist: sqlparse>=0.4.4
33
35
  Requires-Dist: opentelemetry-api>=1.22.0
34
36
  Requires-Dist: opentelemetry-sdk>=1.22.0
35
37
  Requires-Dist: opentelemetry-semantic-conventions>=0.43b0
@@ -56,13 +58,8 @@ Python Client for Cloud Spanner
56
58
 
57
59
  |stable| |pypi| |versions|
58
60
 
59
- `Cloud Spanner`_: is the world's first fully managed relational database service
60
- to offer both strong consistency and horizontal scalability for
61
- mission-critical online transaction processing (OLTP) applications. With Cloud
62
- Spanner you enjoy all the traditional benefits of a relational database; but
63
- unlike any other relational database service, Cloud Spanner scales horizontally
64
- to hundreds or thousands of servers to handle the biggest transactional
65
- workloads.
61
+ `Cloud Spanner`_: Cloud Spanner is a managed, mission-critical, globally consistent and
62
+ scalable relational database service.
66
63
 
67
64
  - `Client Library Documentation`_
68
65
  - `Product Documentation`_
@@ -73,9 +70,9 @@ workloads.
73
70
  :target: https://pypi.org/project/google-cloud-spanner/
74
71
  .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-spanner.svg
75
72
  :target: https://pypi.org/project/google-cloud-spanner/
76
- .. _Cloud Spanner: https://cloud.google.com/spanner/docs/
73
+ .. _Cloud Spanner: https://cloud.google.com/spanner/
77
74
  .. _Client Library Documentation: https://cloud.google.com/python/docs/reference/spanner/latest/summary_overview
78
- .. _Product Documentation: https://cloud.google.com/spanner/docs/
75
+ .. _Product Documentation: https://cloud.google.com/spanner/
79
76
 
80
77
  Quick Start
81
78
  -----------
@@ -89,7 +86,7 @@ In order to use this library, you first need to go through the following steps:
89
86
 
90
87
  .. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
91
88
  .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
92
- .. _Enable the Cloud Spanner.: https://cloud.google.com/spanner/docs/
89
+ .. _Enable the Cloud Spanner.: https://cloud.google.com/spanner/
93
90
  .. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
94
91
 
95
92
  Installation
@@ -120,14 +117,15 @@ Supported Python Versions
120
117
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
121
118
  Python.
122
119
 
123
- Python >= 3.9, including 3.14
120
+ Python >= 3.10, including 3.14
124
121
 
125
122
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
126
123
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
127
124
 
128
125
  Unsupported Python Versions
129
126
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
130
- Python <= 3.8
127
+ Python <= 3.9
128
+
131
129
 
132
130
  If you are using an `end-of-life`_
133
131
  version of Python, we recommend that you update as soon as possible to an actively supported version.
@@ -344,7 +342,7 @@ Next Steps
344
342
  - View this `README`_ to see the full list of Cloud
345
343
  APIs that we cover.
346
344
 
347
- .. _Cloud Spanner Product documentation: https://cloud.google.com/spanner/docs/
345
+ .. _Cloud Spanner Product documentation: https://cloud.google.com/spanner/
348
346
  .. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
349
347
 
350
348
  Logging
@@ -3,13 +3,8 @@ Python Client for Cloud Spanner
3
3
 
4
4
  |stable| |pypi| |versions|
5
5
 
6
- `Cloud Spanner`_: is the world's first fully managed relational database service
7
- to offer both strong consistency and horizontal scalability for
8
- mission-critical online transaction processing (OLTP) applications. With Cloud
9
- Spanner you enjoy all the traditional benefits of a relational database; but
10
- unlike any other relational database service, Cloud Spanner scales horizontally
11
- to hundreds or thousands of servers to handle the biggest transactional
12
- workloads.
6
+ `Cloud Spanner`_: Cloud Spanner is a managed, mission-critical, globally consistent and
7
+ scalable relational database service.
13
8
 
14
9
  - `Client Library Documentation`_
15
10
  - `Product Documentation`_
@@ -20,9 +15,9 @@ workloads.
20
15
  :target: https://pypi.org/project/google-cloud-spanner/
21
16
  .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-spanner.svg
22
17
  :target: https://pypi.org/project/google-cloud-spanner/
23
- .. _Cloud Spanner: https://cloud.google.com/spanner/docs/
18
+ .. _Cloud Spanner: https://cloud.google.com/spanner/
24
19
  .. _Client Library Documentation: https://cloud.google.com/python/docs/reference/spanner/latest/summary_overview
25
- .. _Product Documentation: https://cloud.google.com/spanner/docs/
20
+ .. _Product Documentation: https://cloud.google.com/spanner/
26
21
 
27
22
  Quick Start
28
23
  -----------
@@ -36,7 +31,7 @@ In order to use this library, you first need to go through the following steps:
36
31
 
37
32
  .. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
38
33
  .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
39
- .. _Enable the Cloud Spanner.: https://cloud.google.com/spanner/docs/
34
+ .. _Enable the Cloud Spanner.: https://cloud.google.com/spanner/
40
35
  .. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
41
36
 
42
37
  Installation
@@ -67,14 +62,15 @@ Supported Python Versions
67
62
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
68
63
  Python.
69
64
 
70
- Python >= 3.9, including 3.14
65
+ Python >= 3.10, including 3.14
71
66
 
72
67
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
73
68
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
74
69
 
75
70
  Unsupported Python Versions
76
71
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
77
- Python <= 3.8
72
+ Python <= 3.9
73
+
78
74
 
79
75
  If you are using an `end-of-life`_
80
76
  version of Python, we recommend that you update as soon as possible to an actively supported version.
@@ -291,7 +287,7 @@ Next Steps
291
287
  - View this `README`_ to see the full list of Cloud
292
288
  APIs that we cover.
293
289
 
294
- .. _Cloud Spanner Product documentation: https://cloud.google.com/spanner/docs/
290
+ .. _Cloud Spanner Product documentation: https://cloud.google.com/spanner/
295
291
  .. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
296
292
 
297
293
  Logging
@@ -42,7 +42,6 @@ import asyncio
42
42
  import concurrent.futures
43
43
  import inspect
44
44
  import queue
45
- import sys
46
45
  import threading
47
46
  import time
48
47
  import typing
@@ -269,7 +268,7 @@ class CrossSync(metaclass=MappingMeta):
269
268
  sync_executor: ThreadPoolExecutor to use for sync operations. Ignored in async version
270
269
  """
271
270
  task: CrossSync.Task[T] = asyncio.create_task(fn(*fn_args, **fn_kwargs))
272
- if task_name and sys.version_info >= (3, 8):
271
+ if task_name:
273
272
  task.set_name(task_name)
274
273
  return task
275
274
 
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -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__ = "3.65.0" # {x-release-please-version}
16
+ __version__ = "3.67.0" # {x-release-please-version}
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -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__ = "3.65.0" # {x-release-please-version}
16
+ __version__ = "3.67.0" # {x-release-please-version}
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -21,13 +21,7 @@ from google.cloud.spanner_admin_database_v1 import gapic_version as package_vers
21
21
 
22
22
  __version__ = package_version.__version__
23
23
 
24
- if sys.version_info >= (3, 8): # pragma: NO COVER
25
- from importlib import metadata
26
- else: # pragma: NO COVER
27
- # TODO(https://github.com/googleapis/python-api-core/issues/835): Remove
28
- # this code path once we drop support for Python 3.7
29
- import importlib_metadata as metadata
30
-
24
+ from importlib import metadata
31
25
 
32
26
  from .services.database_admin import DatabaseAdminAsyncClient, DatabaseAdminClient
33
27
  from .types.backup import (
@@ -109,28 +103,17 @@ else: # pragma: NO COVER
109
103
  # An older version of api_core is installed which does not define the
110
104
  # functions above. We do equivalent checks manually.
111
105
  try:
112
- import sys
113
106
  import warnings
114
107
 
115
108
  _py_version_str = sys.version.split()[0]
116
109
  _package_label = "google.cloud.spanner_admin_database_v1"
117
- if sys.version_info < (3, 9):
110
+ if sys.version_info < (3, 10):
118
111
  warnings.warn(
119
112
  "You are using a non-supported Python version "
120
113
  + f"({_py_version_str}). Google will not post any further "
121
114
  + f"updates to {_package_label} supporting this Python version. "
122
115
  + "Please upgrade to the latest Python version, or at "
123
- + f"least to Python 3.9, and then update {_package_label}.",
124
- FutureWarning,
125
- )
126
- if sys.version_info[:2] == (3, 9):
127
- warnings.warn(
128
- f"You are using a Python version ({_py_version_str}) "
129
- + f"which Google will stop supporting in {_package_label} in "
130
- + "January 2026. Please "
131
- + "upgrade to the latest Python version, or at "
132
- + "least to Python 3.10, before then, and "
133
- + f"then update {_package_label}.",
116
+ + f"least to Python 3.10, and then update {_package_label}.",
134
117
  FutureWarning,
135
118
  )
136
119
 
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -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__ = "3.65.0" # {x-release-please-version}
16
+ __version__ = "3.67.0" # {x-release-please-version}
@@ -0,0 +1,2 @@
1
+ # Marker file for PEP 561.
2
+ # The google-cloud-spanner package uses inline types.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,6 @@
15
15
  #
16
16
  import logging as std_logging
17
17
  import re
18
- import uuid
19
18
  from collections import OrderedDict
20
19
  from typing import (
21
20
  Callable,
@@ -518,11 +517,11 @@ class DatabaseAdminAsyncClient:
518
517
  )
519
518
 
520
519
  # Make the request
521
- operation = client.create_database(request=request)
520
+ operation = await client.create_database(request=request)
522
521
 
523
522
  print("Waiting for operation to complete...")
524
523
 
525
- response = (await operation).result()
524
+ response = await operation.result()
526
525
 
527
526
  # Handle the response
528
527
  print(response)
@@ -814,11 +813,11 @@ class DatabaseAdminAsyncClient:
814
813
  )
815
814
 
816
815
  # Make the request
817
- operation = client.update_database(request=request)
816
+ operation = await client.update_database(request=request)
818
817
 
819
818
  print("Waiting for operation to complete...")
820
819
 
821
- response = (await operation).result()
820
+ response = await operation.result()
822
821
 
823
822
  # Handle the response
824
823
  print(response)
@@ -964,11 +963,11 @@ class DatabaseAdminAsyncClient:
964
963
  )
965
964
 
966
965
  # Make the request
967
- operation = client.update_database_ddl(request=request)
966
+ operation = await client.update_database_ddl(request=request)
968
967
 
969
968
  print("Waiting for operation to complete...")
970
969
 
971
- response = (await operation).result()
970
+ response = await operation.result()
972
971
 
973
972
  # Handle the response
974
973
  print(response)
@@ -1778,11 +1777,11 @@ class DatabaseAdminAsyncClient:
1778
1777
  )
1779
1778
 
1780
1779
  # Make the request
1781
- operation = client.create_backup(request=request)
1780
+ operation = await client.create_backup(request=request)
1782
1781
 
1783
1782
  print("Waiting for operation to complete...")
1784
1783
 
1785
- response = (await operation).result()
1784
+ response = await operation.result()
1786
1785
 
1787
1786
  # Handle the response
1788
1787
  print(response)
@@ -1944,11 +1943,11 @@ class DatabaseAdminAsyncClient:
1944
1943
  )
1945
1944
 
1946
1945
  # Make the request
1947
- operation = client.copy_backup(request=request)
1946
+ operation = await client.copy_backup(request=request)
1948
1947
 
1949
1948
  print("Waiting for operation to complete...")
1950
1949
 
1951
- response = (await operation).result()
1950
+ response = await operation.result()
1952
1951
 
1953
1952
  # Handle the response
1954
1953
  print(response)
@@ -2602,11 +2601,11 @@ class DatabaseAdminAsyncClient:
2602
2601
  )
2603
2602
 
2604
2603
  # Make the request
2605
- operation = client.restore_database(request=request)
2604
+ operation = await client.restore_database(request=request)
2606
2605
 
2607
2606
  print("Waiting for operation to complete...")
2608
2607
 
2609
- response = (await operation).result()
2608
+ response = await operation.result()
2610
2609
 
2611
2610
  # Handle the response
2612
2611
  print(response)
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -17,7 +17,6 @@ import json
17
17
  import logging as std_logging
18
18
  import os
19
19
  import re
20
- import uuid
21
20
  import warnings
22
21
  from collections import OrderedDict
23
22
  from http import HTTPStatus
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -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__ = "3.65.0" # {x-release-please-version}
16
+ __version__ = "3.67.0" # {x-release-please-version}
@@ -0,0 +1,2 @@
1
+ # Marker file for PEP 561.
2
+ # The google-cloud-spanner package uses inline types.
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- # Copyright 2025 Google LLC
2
+ # Copyright 2026 Google LLC
3
3
  #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License");
5
5
  # you may not use this file except in compliance with the License.
@@ -21,13 +21,7 @@ from google.cloud.spanner_admin_instance_v1 import gapic_version as package_vers
21
21
 
22
22
  __version__ = package_version.__version__
23
23
 
24
- if sys.version_info >= (3, 8): # pragma: NO COVER
25
- from importlib import metadata
26
- else: # pragma: NO COVER
27
- # TODO(https://github.com/googleapis/python-api-core/issues/835): Remove
28
- # this code path once we drop support for Python 3.7
29
- import importlib_metadata as metadata
30
-
24
+ from importlib import metadata
31
25
 
32
26
  from .services.instance_admin import InstanceAdminAsyncClient, InstanceAdminClient
33
27
  from .types.common import FulfillmentPeriod, OperationProgress, ReplicaSelection
@@ -81,28 +75,17 @@ else: # pragma: NO COVER
81
75
  # An older version of api_core is installed which does not define the
82
76
  # functions above. We do equivalent checks manually.
83
77
  try:
84
- import sys
85
78
  import warnings
86
79
 
87
80
  _py_version_str = sys.version.split()[0]
88
81
  _package_label = "google.cloud.spanner_admin_instance_v1"
89
- if sys.version_info < (3, 9):
82
+ if sys.version_info < (3, 10):
90
83
  warnings.warn(
91
84
  "You are using a non-supported Python version "
92
85
  + f"({_py_version_str}). Google will not post any further "
93
86
  + f"updates to {_package_label} supporting this Python version. "
94
87
  + "Please upgrade to the latest Python version, or at "
95
- + f"least to Python 3.9, and then update {_package_label}.",
96
- FutureWarning,
97
- )
98
- if sys.version_info[:2] == (3, 9):
99
- warnings.warn(
100
- f"You are using a Python version ({_py_version_str}) "
101
- + f"which Google will stop supporting in {_package_label} in "
102
- + "January 2026. Please "
103
- + "upgrade to the latest Python version, or at "
104
- + "least to Python 3.10, before then, and "
105
- + f"then update {_package_label}.",
88
+ + f"least to Python 3.10, and then update {_package_label}.",
106
89
  FutureWarning,
107
90
  )
108
91
 
@@ -0,0 +1,16 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2026 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
+ __version__ = "3.67.0" # {x-release-please-version}
@@ -0,0 +1,2 @@
1
+ # Marker file for PEP 561.
2
+ # The google-cloud-spanner package uses inline types.