google-cloud-bigtable 2.38.0__tar.gz → 2.40.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 (269) hide show
  1. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/MANIFEST.in +1 -1
  2. {google_cloud_bigtable-2.38.0/google_cloud_bigtable.egg-info → google_cloud_bigtable-2.40.0}/PKG-INFO +23 -25
  3. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/README.rst +13 -13
  4. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/__init__.py +1 -1
  5. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_async/_mutate_rows.py +44 -38
  6. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_async/_read_rows.py +134 -110
  7. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_async/client.py +127 -85
  8. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_async/mutations_batcher.py +30 -3
  9. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_cross_sync/cross_sync.py +1 -2
  10. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_helpers.py +1 -0
  11. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_sync_autogen/_mutate_rows.py +39 -35
  12. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_sync_autogen/_read_rows.py +116 -99
  13. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_sync_autogen/client.py +120 -81
  14. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_sync_autogen/mutations_batcher.py +28 -3
  15. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_parameters_formatting.py +21 -0
  16. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/row_filters.py +28 -0
  17. {google_cloud_bigtable-2.38.0/google/cloud/bigtable_admin → google_cloud_bigtable-2.40.0/google/cloud/bigtable}/gapic_version.py +2 -2
  18. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin/__init__.py +1 -1
  19. {google_cloud_bigtable-2.38.0/google/cloud/bigtable_admin_v2 → google_cloud_bigtable-2.40.0/google/cloud/bigtable_admin}/gapic_version.py +2 -2
  20. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/__init__.py +8 -25
  21. {google_cloud_bigtable-2.38.0/google/cloud/bigtable_v2 → google_cloud_bigtable-2.40.0/google/cloud/bigtable_admin_v2}/gapic_version.py +2 -2
  22. google_cloud_bigtable-2.40.0/google/cloud/bigtable_admin_v2/py.typed +2 -0
  23. {google_cloud_bigtable-2.38.0/google/cloud/bigtable_v2 → google_cloud_bigtable-2.40.0/google/cloud/bigtable_admin_v2}/services/__init__.py +1 -1
  24. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/__init__.py +1 -1
  25. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py +21 -21
  26. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py +1 -1
  27. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/pagers.py +1 -1
  28. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/__init__.py +1 -1
  29. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py +1 -1
  30. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc.py +1 -1
  31. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc_asyncio.py +1 -1
  32. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py +1 -1
  33. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest_base.py +1 -1
  34. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/__init__.py +1 -1
  35. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py +23 -23
  36. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py +1 -1
  37. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/pagers.py +1 -1
  38. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/__init__.py +1 -1
  39. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py +1 -1
  40. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc.py +1 -1
  41. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc_asyncio.py +1 -1
  42. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py +1 -1
  43. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest_base.py +1 -1
  44. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/types/__init__.py +1 -1
  45. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/types/bigtable_instance_admin.py +1 -1
  46. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/types/bigtable_table_admin.py +1 -1
  47. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/types/common.py +1 -1
  48. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/types/instance.py +42 -1
  49. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/types/table.py +18 -6
  50. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/types/types.py +1 -1
  51. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/__init__.py +76 -25
  52. google_cloud_bigtable-2.40.0/google/cloud/bigtable_v2/gapic_version.py +16 -0
  53. google_cloud_bigtable-2.40.0/google/cloud/bigtable_v2/py.typed +2 -0
  54. {google_cloud_bigtable-2.38.0/tests → google_cloud_bigtable-2.40.0/google/cloud/bigtable_v2/services}/__init__.py +1 -1
  55. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/__init__.py +1 -1
  56. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/async_client.py +8 -6
  57. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/client.py +8 -6
  58. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/transports/__init__.py +1 -1
  59. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/transports/base.py +1 -1
  60. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/transports/grpc.py +8 -6
  61. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/transports/grpc_asyncio.py +8 -6
  62. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/transports/rest.py +1 -1
  63. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/services/bigtable/transports/rest_base.py +1 -1
  64. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/__init__.py +69 -1
  65. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/bigtable.py +41 -16
  66. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/data.py +1 -1
  67. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/feature_flags.py +15 -1
  68. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/peer_info.py +10 -3
  69. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/request_stats.py +1 -1
  70. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/response_params.py +1 -1
  71. google_cloud_bigtable-2.40.0/google/cloud/bigtable_v2/types/session.py +1275 -0
  72. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/types/types.py +1 -1
  73. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0/google_cloud_bigtable.egg-info}/PKG-INFO +23 -25
  74. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google_cloud_bigtable.egg-info/SOURCES.txt +5 -1
  75. google_cloud_bigtable-2.40.0/google_cloud_bigtable.egg-info/requires.txt +14 -0
  76. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/setup.py +14 -13
  77. google_cloud_bigtable-2.40.0/tests/__init__.py +15 -0
  78. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/admin_overlay/test_system_async.py +45 -8
  79. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/admin_overlay/test_system_autogen.py +33 -8
  80. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/conftest.py +0 -4
  81. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/cross_sync/test_cross_sync_e2e.py +33 -6
  82. google_cloud_bigtable-2.40.0/tests/system/data/__init__.py +274 -0
  83. google_cloud_bigtable-2.40.0/tests/system/data/test_metrics_async.py +2219 -0
  84. google_cloud_bigtable-2.40.0/tests/system/data/test_metrics_autogen.py +1733 -0
  85. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/data/test_system_async.py +145 -116
  86. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/data/test_system_autogen.py +121 -101
  87. google_cloud_bigtable-2.40.0/tests/system/utils.py +58 -0
  88. google_cloud_bigtable-2.40.0/tests/unit/__init__.py +15 -0
  89. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_async_client.py +2 -10
  90. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_async_consistency.py +1 -6
  91. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_async_restore_table.py +1 -6
  92. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_client.py +2 -9
  93. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_consistency.py +1 -5
  94. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_restore_table.py +1 -5
  95. google_cloud_bigtable-2.40.0/tests/unit/conftest.py +37 -0
  96. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/test__mutate_rows.py +20 -10
  97. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/test__read_rows.py +15 -10
  98. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/test__swappable_channel.py +1 -5
  99. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/test_client.py +192 -48
  100. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/test_metrics_interceptor.py +2 -6
  101. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/test_mutations_batcher.py +21 -8
  102. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/test_read_rows_acceptance.py +15 -22
  103. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_cross_sync/test_cross_sync.py +2 -12
  104. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/test__mutate_rows.py +22 -10
  105. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/test__read_rows.py +15 -8
  106. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/test__swappable_channel.py +2 -5
  107. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/test_client.py +151 -42
  108. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/test_metrics_interceptor.py +2 -5
  109. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/test_mutations_batcher.py +19 -8
  110. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/test_read_rows_acceptance.py +17 -22
  111. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/_async/test_query_iterator.py +1 -7
  112. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/_sync_autogen/test_query_iterator.py +1 -5
  113. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/resources/singer_pb2.py +15 -0
  114. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/test_checksum.py +0 -7
  115. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_exceptions.py +1 -6
  116. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_mutations.py +2 -6
  117. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_read_modify_write_rules.py +2 -6
  118. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_row_filters.py +20 -0
  119. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_sync_up_to_date.py +0 -3
  120. google_cloud_bigtable-2.40.0/tests/unit/gapic/__init__.py +15 -0
  121. google_cloud_bigtable-2.40.0/tests/unit/gapic/bigtable_admin_v2/__init__.py +15 -0
  122. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/gapic/bigtable_admin_v2/test_bigtable_instance_admin.py +504 -568
  123. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/gapic/bigtable_admin_v2/test_bigtable_table_admin.py +555 -638
  124. google_cloud_bigtable-2.40.0/tests/unit/gapic/bigtable_v2/__init__.py +15 -0
  125. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/gapic/bigtable_v2/test_bigtable.py +183 -268
  126. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/test_sql_routing_parameters.py +2 -6
  127. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_batcher.py +7 -10
  128. google_cloud_bigtable-2.38.0/google/cloud/bigtable/gapic_version.py +0 -16
  129. google_cloud_bigtable-2.38.0/google/cloud/bigtable_admin/py.typed +0 -2
  130. google_cloud_bigtable-2.38.0/google/cloud/bigtable_admin_v2/py.typed +0 -2
  131. google_cloud_bigtable-2.38.0/google/cloud/bigtable_admin_v2/services/__init__.py +0 -15
  132. google_cloud_bigtable-2.38.0/google_cloud_bigtable.egg-info/requires.txt +0 -17
  133. google_cloud_bigtable-2.38.0/tests/system/data/__init__.py +0 -19
  134. google_cloud_bigtable-2.38.0/tests/system/data/setup_fixtures.py +0 -210
  135. google_cloud_bigtable-2.38.0/tests/unit/__init__.py +0 -15
  136. google_cloud_bigtable-2.38.0/tests/unit/gapic/__init__.py +0 -15
  137. google_cloud_bigtable-2.38.0/tests/unit/gapic/bigtable_admin_v2/__init__.py +0 -15
  138. google_cloud_bigtable-2.38.0/tests/unit/gapic/bigtable_v2/__init__.py +0 -15
  139. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/LICENSE +0 -0
  140. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/app_profile.py +0 -0
  141. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/backup.py +0 -0
  142. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/batcher.py +0 -0
  143. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/client.py +0 -0
  144. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/cluster.py +0 -0
  145. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/column_family.py +0 -0
  146. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/__init__.py +0 -0
  147. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_async/__init__.py +0 -0
  148. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_async/_swappable_channel.py +0 -0
  149. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_async/metrics_interceptor.py +0 -0
  150. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_cross_sync/__init__.py +0 -0
  151. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_cross_sync/_decorators.py +0 -0
  152. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_cross_sync/_mapping_meta.py +0 -0
  153. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_metrics/__init__.py +0 -0
  154. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_metrics/data_model.py +0 -0
  155. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_metrics/handlers/_base.py +0 -0
  156. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_metrics/metrics_controller.py +0 -0
  157. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_metrics/tracked_retry.py +0 -0
  158. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_sync_autogen/_swappable_channel.py +0 -0
  159. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/_sync_autogen/metrics_interceptor.py +0 -0
  160. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/exceptions.py +0 -0
  161. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/__init__.py +0 -0
  162. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_async/__init__.py +0 -0
  163. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_async/execute_query_iterator.py +0 -0
  164. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_byte_cursor.py +0 -0
  165. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_checksum.py +0 -0
  166. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_query_result_parsing_utils.py +0 -0
  167. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_reader.py +0 -0
  168. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/_sync_autogen/execute_query_iterator.py +0 -0
  169. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/metadata.py +0 -0
  170. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/execute_query/values.py +0 -0
  171. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/mutations.py +0 -0
  172. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/read_modify_write_rules.py +0 -0
  173. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/read_rows_query.py +0 -0
  174. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/data/row.py +0 -0
  175. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/encryption_info.py +0 -0
  176. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/enums.py +0 -0
  177. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/error.py +0 -0
  178. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/helpers.py +0 -0
  179. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/instance.py +0 -0
  180. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/policy.py +0 -0
  181. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/py.typed +0 -0
  182. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/row.py +0 -0
  183. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/row_data.py +0 -0
  184. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/row_filters.py +0 -0
  185. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/row_merger.py +0 -0
  186. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/row_set.py +0 -0
  187. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable/table.py +0 -0
  188. {google_cloud_bigtable-2.38.0/google/cloud/bigtable_v2 → google_cloud_bigtable-2.40.0/google/cloud/bigtable_admin}/py.typed +0 -0
  189. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/gapic_metadata.json +0 -0
  190. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/__init__.py +0 -0
  191. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/services/__init__.py +0 -0
  192. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/services/bigtable_table_admin/__init__.py +0 -0
  193. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/services/bigtable_table_admin/async_client.py +0 -0
  194. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/services/bigtable_table_admin/client.py +0 -0
  195. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/types/__init__.py +0 -0
  196. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/types/async_consistency.py +0 -0
  197. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/types/async_restore_table.py +0 -0
  198. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/types/consistency.py +0 -0
  199. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/types/restore_table.py +0 -0
  200. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/overlay/types/wait_for_consistency_request.py +0 -0
  201. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/utils/__init__.py +0 -0
  202. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_admin_v2/utils/oneof_message.py +0 -0
  203. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google/cloud/bigtable_v2/gapic_metadata.json +0 -0
  204. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google_cloud_bigtable.egg-info/dependency_links.txt +0 -0
  205. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google_cloud_bigtable.egg-info/not-zip-safe +0 -0
  206. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/google_cloud_bigtable.egg-info/top_level.txt +0 -0
  207. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/setup.cfg +0 -0
  208. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/__init__.py +0 -0
  209. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/admin_overlay/__init__.py +0 -0
  210. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/admin_overlay/conftest.py +0 -0
  211. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/cross_sync/test_cases/async_to_sync.yaml +0 -0
  212. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/cross_sync/test_cases/cross_sync_files.yaml +0 -0
  213. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/cross_sync/test_cases/rm_aio.yaml +0 -0
  214. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/cross_sync/test_cases/strip_async_conditional_branches.yaml +0 -0
  215. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/cross_sync/test_cases/symbol_replacer.yaml +0 -0
  216. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/v2_client/__init__.py +0 -0
  217. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/v2_client/_helpers.py +0 -0
  218. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/v2_client/conftest.py +0 -0
  219. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/v2_client/test_data_api.py +0 -0
  220. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/v2_client/test_instance_admin.py +0 -0
  221. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/system/v2_client/test_table_admin.py +0 -0
  222. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/my_oneof_message.py +0 -0
  223. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_admin_packaging.py +0 -0
  224. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/admin_overlay/test_oneof_message.py +0 -0
  225. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/__init__.py +0 -0
  226. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_async/__init__.py +0 -0
  227. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_cross_sync/test_cross_sync_decorators.py +0 -0
  228. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_metrics/__init__.py +0 -0
  229. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_metrics/test_data_model.py +0 -0
  230. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_metrics/test_metrics_controller.py +0 -0
  231. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_metrics/test_tracked_retry.py +0 -0
  232. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/_sync_autogen/__init__.py +0 -0
  233. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/__init__.py +0 -0
  234. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/_async/__init__.py +0 -0
  235. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/_sync_autogen/__init__.py +0 -0
  236. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/resources/README.md +0 -0
  237. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/resources/__init__.py +0 -0
  238. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/resources/descriptors.pb +0 -0
  239. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/resources/singer.proto +0 -0
  240. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/sql_helpers.py +0 -0
  241. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/test_byte_cursor.py +0 -0
  242. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/test_execute_query_parameters_parsing.py +0 -0
  243. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/test_metadata.py +0 -0
  244. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/test_query_result_parsing_utils.py +0 -0
  245. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/execute_query/test_query_result_row_reader.py +0 -0
  246. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/read-rows-acceptance-test.json +0 -0
  247. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test__helpers.py +0 -0
  248. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_helpers.py +0 -0
  249. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_read_rows_query.py +0 -0
  250. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/data/test_row.py +0 -0
  251. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/test_packaging.py +0 -0
  252. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/__init__.py +0 -0
  253. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/_testing.py +0 -0
  254. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/read-rows-acceptance-test.json +0 -0
  255. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_app_profile.py +0 -0
  256. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_backup.py +0 -0
  257. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_client.py +0 -0
  258. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_cluster.py +0 -0
  259. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_column_family.py +0 -0
  260. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_encryption_info.py +0 -0
  261. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_error.py +0 -0
  262. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_instance.py +0 -0
  263. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_policy.py +0 -0
  264. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_row.py +0 -0
  265. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_row_data.py +0 -0
  266. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_row_filters.py +0 -0
  267. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_row_merger.py +0 -0
  268. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_row_set.py +0 -0
  269. {google_cloud_bigtable-2.38.0 → google_cloud_bigtable-2.40.0}/tests/unit/v2_client/test_table.py +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-bigtable
3
- Version: 2.38.0
3
+ Version: 2.40.0
4
4
  Summary: Google Cloud Bigtable API client library
5
5
  Home-page: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-bigtable
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,18 +19,17 @@ 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]<3.0.0,>=2.11.0
24
+ Requires-Dist: google-api-core[grpc]<3.0.0,>=2.24.2
26
25
  Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
27
- Requires-Dist: grpcio<2.0.0,>=1.33.2
26
+ Requires-Dist: grpcio<2.0.0,>=1.59.0
28
27
  Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
29
- Requires-Dist: proto-plus<2.0.0,>=1.22.3
30
- Requires-Dist: proto-plus<2.0.0,>=1.25.0; python_version >= "3.13"
31
- Requires-Dist: protobuf<8.0.0,>=4.25.8
32
- Requires-Dist: google-cloud-core<3.0.0,>=1.4.4
33
- Requires-Dist: grpc-google-iam-v1<1.0.0,>=0.12.4
34
- Requires-Dist: google-crc32c<2.0.0dev,>=1.5.0
28
+ Requires-Dist: proto-plus<2.0.0,>=1.26.1
29
+ Requires-Dist: protobuf<8.0.0,>=6.33.5
30
+ Requires-Dist: google-cloud-core<3.0.0,>=2.0.0
31
+ Requires-Dist: grpc-google-iam-v1<1.0.0,>=0.14.2
32
+ Requires-Dist: google-crc32c<2.0.0dev,>=1.6.0
35
33
  Provides-Extra: libcst
36
34
  Requires-Dist: libcst>=0.2.5; extra == "libcst"
37
35
  Dynamic: author
@@ -47,14 +45,13 @@ Dynamic: requires-dist
47
45
  Dynamic: requires-python
48
46
  Dynamic: summary
49
47
 
50
- Python Client for Google Cloud Bigtable
51
- =======================================
48
+ Python Client for Cloud Bigtable
49
+ ================================
52
50
 
53
51
  |stable| |pypi| |versions|
54
52
 
55
- `Google Cloud Bigtable`_: is Google's NoSQL Big Data database service. It's the
56
- same database that powers many core Google services, including Search,
57
- Analytics, Maps, and Gmail.
53
+ `Cloud Bigtable`_: API for reading and writing the contents of Bigtable tables associated with
54
+ a Google Cloud project.
58
55
 
59
56
  - `Client Library Documentation`_
60
57
  - `Product Documentation`_
@@ -65,7 +62,7 @@ Analytics, Maps, and Gmail.
65
62
  :target: https://pypi.org/project/google-cloud-bigtable/
66
63
  .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-bigtable.svg
67
64
  :target: https://pypi.org/project/google-cloud-bigtable/
68
- .. _Google Cloud Bigtable: https://cloud.google.com/bigtable
65
+ .. _Cloud Bigtable: https://cloud.google.com/bigtable/docs
69
66
  .. _Client Library Documentation: https://cloud.google.com/python/docs/reference/bigtable/latest/summary_overview
70
67
  .. _Product Documentation: https://cloud.google.com/bigtable/docs
71
68
 
@@ -100,12 +97,12 @@ In order to use this library, you first need to go through the following steps:
100
97
 
101
98
  1. `Select or create a Cloud Platform project.`_
102
99
  2. `Enable billing for your project.`_
103
- 3. `Enable the Google Cloud Bigtable.`_
100
+ 3. `Enable the Cloud Bigtable.`_
104
101
  4. `Set up Authentication.`_
105
102
 
106
103
  .. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
107
104
  .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
108
- .. _Enable the Google Cloud Bigtable.: https://cloud.google.com/bigtable
105
+ .. _Enable the Cloud Bigtable.: https://cloud.google.com/bigtable/docs
109
106
  .. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
110
107
 
111
108
  Installation
@@ -136,14 +133,15 @@ Supported Python Versions
136
133
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
137
134
  Python.
138
135
 
139
- Python >= 3.9, including 3.14
136
+ Python >= 3.10, including 3.14
140
137
 
141
138
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
142
139
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
143
140
 
144
141
  Unsupported Python Versions
145
142
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
146
- Python <= 3.8
143
+ Python <= 3.9
144
+
147
145
 
148
146
  If you are using an `end-of-life`_
149
147
  version of Python, we recommend that you update as soon as possible to an actively supported version.
@@ -172,14 +170,14 @@ Windows
172
170
  Next Steps
173
171
  ~~~~~~~~~~
174
172
 
175
- - Read the `Client Library Documentation`_ for Google Cloud Bigtable
173
+ - Read the `Client Library Documentation`_ for Cloud Bigtable
176
174
  to see other available methods on the client.
177
- - Read the `Google Cloud Bigtable Product documentation`_ to learn
175
+ - Read the `Cloud Bigtable Product documentation`_ to learn
178
176
  more about the product and see How-to Guides.
179
177
  - View this `README`_ to see the full list of Cloud
180
178
  APIs that we cover.
181
179
 
182
- .. _Google Cloud Bigtable Product documentation: https://cloud.google.com/bigtable
180
+ .. _Cloud Bigtable Product documentation: https://cloud.google.com/bigtable/docs
183
181
  .. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
184
182
 
185
183
  Logging
@@ -1,11 +1,10 @@
1
- Python Client for Google Cloud Bigtable
2
- =======================================
1
+ Python Client for Cloud Bigtable
2
+ ================================
3
3
 
4
4
  |stable| |pypi| |versions|
5
5
 
6
- `Google Cloud Bigtable`_: is Google's NoSQL Big Data database service. It's the
7
- same database that powers many core Google services, including Search,
8
- Analytics, Maps, and Gmail.
6
+ `Cloud Bigtable`_: API for reading and writing the contents of Bigtable tables associated with
7
+ a Google Cloud project.
9
8
 
10
9
  - `Client Library Documentation`_
11
10
  - `Product Documentation`_
@@ -16,7 +15,7 @@ Analytics, Maps, and Gmail.
16
15
  :target: https://pypi.org/project/google-cloud-bigtable/
17
16
  .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-bigtable.svg
18
17
  :target: https://pypi.org/project/google-cloud-bigtable/
19
- .. _Google Cloud Bigtable: https://cloud.google.com/bigtable
18
+ .. _Cloud Bigtable: https://cloud.google.com/bigtable/docs
20
19
  .. _Client Library Documentation: https://cloud.google.com/python/docs/reference/bigtable/latest/summary_overview
21
20
  .. _Product Documentation: https://cloud.google.com/bigtable/docs
22
21
 
@@ -51,12 +50,12 @@ In order to use this library, you first need to go through the following steps:
51
50
 
52
51
  1. `Select or create a Cloud Platform project.`_
53
52
  2. `Enable billing for your project.`_
54
- 3. `Enable the Google Cloud Bigtable.`_
53
+ 3. `Enable the Cloud Bigtable.`_
55
54
  4. `Set up Authentication.`_
56
55
 
57
56
  .. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project
58
57
  .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project
59
- .. _Enable the Google Cloud Bigtable.: https://cloud.google.com/bigtable
58
+ .. _Enable the Cloud Bigtable.: https://cloud.google.com/bigtable/docs
60
59
  .. _Set up Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html
61
60
 
62
61
  Installation
@@ -87,14 +86,15 @@ Supported Python Versions
87
86
  Our client libraries are compatible with all current `active`_ and `maintenance`_ versions of
88
87
  Python.
89
88
 
90
- Python >= 3.9, including 3.14
89
+ Python >= 3.10, including 3.14
91
90
 
92
91
  .. _active: https://devguide.python.org/devcycle/#in-development-main-branch
93
92
  .. _maintenance: https://devguide.python.org/devcycle/#maintenance-branches
94
93
 
95
94
  Unsupported Python Versions
96
95
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
97
- Python <= 3.8
96
+ Python <= 3.9
97
+
98
98
 
99
99
  If you are using an `end-of-life`_
100
100
  version of Python, we recommend that you update as soon as possible to an actively supported version.
@@ -123,14 +123,14 @@ Windows
123
123
  Next Steps
124
124
  ~~~~~~~~~~
125
125
 
126
- - Read the `Client Library Documentation`_ for Google Cloud Bigtable
126
+ - Read the `Client Library Documentation`_ for Cloud Bigtable
127
127
  to see other available methods on the client.
128
- - Read the `Google Cloud Bigtable Product documentation`_ to learn
128
+ - Read the `Cloud Bigtable Product documentation`_ to learn
129
129
  more about the product and see How-to Guides.
130
130
  - View this `README`_ to see the full list of Cloud
131
131
  APIs that we cover.
132
132
 
133
- .. _Google Cloud Bigtable Product documentation: https://cloud.google.com/bigtable
133
+ .. _Cloud Bigtable Product documentation: https://cloud.google.com/bigtable/docs
134
134
  .. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst
135
135
 
136
136
  Logging
@@ -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.
@@ -22,10 +22,8 @@ from google.api_core import retry as retries
22
22
  import google.cloud.bigtable.data.exceptions as bt_exceptions
23
23
  import google.cloud.bigtable_v2.types.bigtable as types_pb
24
24
  from google.cloud.bigtable.data._cross_sync import CrossSync
25
- from google.cloud.bigtable.data._helpers import (
26
- _attempt_timeout_generator,
27
- _retry_exception_factory,
28
- )
25
+ from google.cloud.bigtable.data._helpers import _attempt_timeout_generator
26
+ from google.cloud.bigtable.data._metrics import tracked_retry
29
27
 
30
28
  # mutate_rows requests are limited to this number of mutations
31
29
  from google.cloud.bigtable.data.mutations import (
@@ -34,6 +32,7 @@ from google.cloud.bigtable.data.mutations import (
34
32
  )
35
33
 
36
34
  if TYPE_CHECKING:
35
+ from google.cloud.bigtable.data._metrics import ActiveOperationMetric
37
36
  from google.cloud.bigtable.data.mutations import RowMutationEntry
38
37
 
39
38
  if CrossSync.is_async:
@@ -72,6 +71,8 @@ class _MutateRowsOperationAsync:
72
71
  operation_timeout: the timeout to use for the entire operation, in seconds.
73
72
  attempt_timeout: the timeout to use for each mutate_rows attempt, in seconds.
74
73
  If not specified, the request will run until operation_timeout is reached.
74
+ metric: the metric object representing the active operation
75
+ retryable_exceptions: a list of exceptions that should be retried
75
76
  """
76
77
 
77
78
  @CrossSync.convert
@@ -82,6 +83,7 @@ class _MutateRowsOperationAsync:
82
83
  mutation_entries: list["RowMutationEntry"],
83
84
  operation_timeout: float,
84
85
  attempt_timeout: float | None,
86
+ metric: ActiveOperationMetric,
85
87
  retryable_exceptions: Sequence[type[Exception]] = (),
86
88
  ):
87
89
  # check that mutations are within limits
@@ -101,13 +103,12 @@ class _MutateRowsOperationAsync:
101
103
  # Entry level errors
102
104
  bt_exceptions._MutateRowsIncomplete,
103
105
  )
104
- sleep_generator = retries.exponential_sleep_generator(0.01, 2, 60)
105
- self._operation = lambda: CrossSync.retry_target(
106
- self._run_attempt,
107
- self.is_retryable,
108
- sleep_generator,
109
- operation_timeout,
110
- exception_factory=_retry_exception_factory,
106
+ self._operation = lambda: tracked_retry(
107
+ retry_fn=CrossSync.retry_target,
108
+ operation=metric,
109
+ target=self._run_attempt,
110
+ predicate=self.is_retryable,
111
+ timeout=operation_timeout,
111
112
  )
112
113
  # initialize state
113
114
  self.timeout_generator = _attempt_timeout_generator(
@@ -116,6 +117,8 @@ class _MutateRowsOperationAsync:
116
117
  self.mutations = [_EntryWithProto(m, m._to_pb()) for m in mutation_entries]
117
118
  self.remaining_indices = list(range(len(self.mutations)))
118
119
  self.errors: dict[int, list[Exception]] = {}
120
+ # set up metrics
121
+ self._operation_metric = metric
119
122
 
120
123
  @CrossSync.convert
121
124
  async def start(self):
@@ -125,34 +128,35 @@ class _MutateRowsOperationAsync:
125
128
  Raises:
126
129
  MutationsExceptionGroup: if any mutations failed
127
130
  """
128
- try:
129
- # trigger mutate_rows
130
- await self._operation()
131
- except Exception as exc:
132
- # exceptions raised by retryable are added to the list of exceptions for all unfinalized mutations
133
- incomplete_indices = self.remaining_indices.copy()
134
- for idx in incomplete_indices:
135
- self._handle_entry_error(idx, exc)
136
- finally:
137
- # raise exception detailing incomplete mutations
138
- all_errors: list[Exception] = []
139
- for idx, exc_list in self.errors.items():
140
- if len(exc_list) == 0:
141
- raise core_exceptions.ClientError(
142
- f"Mutation {idx} failed with no associated errors"
131
+ with self._operation_metric:
132
+ try:
133
+ # trigger mutate_rows
134
+ await self._operation()
135
+ except Exception as exc:
136
+ # exceptions raised by retryable are added to the list of exceptions for all unfinalized mutations
137
+ incomplete_indices = self.remaining_indices.copy()
138
+ for idx in incomplete_indices:
139
+ self._handle_entry_error(idx, exc)
140
+ finally:
141
+ # raise exception detailing incomplete mutations
142
+ all_errors: list[Exception] = []
143
+ for idx, exc_list in self.errors.items():
144
+ if len(exc_list) == 0:
145
+ raise core_exceptions.ClientError(
146
+ f"Mutation {idx} failed with no associated errors"
147
+ )
148
+ elif len(exc_list) == 1:
149
+ cause_exc = exc_list[0]
150
+ else:
151
+ cause_exc = bt_exceptions.RetryExceptionGroup(exc_list)
152
+ entry = self.mutations[idx].entry
153
+ all_errors.append(
154
+ bt_exceptions.FailedMutationEntryError(idx, entry, cause_exc)
155
+ )
156
+ if all_errors:
157
+ raise bt_exceptions.MutationsExceptionGroup(
158
+ all_errors, len(self.mutations)
143
159
  )
144
- elif len(exc_list) == 1:
145
- cause_exc = exc_list[0]
146
- else:
147
- cause_exc = bt_exceptions.RetryExceptionGroup(exc_list)
148
- entry = self.mutations[idx].entry
149
- all_errors.append(
150
- bt_exceptions.FailedMutationEntryError(idx, entry, cause_exc)
151
- )
152
- if all_errors:
153
- raise bt_exceptions.MutationsExceptionGroup(
154
- all_errors, len(self.mutations)
155
- )
156
160
 
157
161
  @CrossSync.convert
158
162
  async def _run_attempt(self):
@@ -164,6 +168,8 @@ class _MutateRowsOperationAsync:
164
168
  retry after the attempt is complete
165
169
  GoogleAPICallError: if the gapic rpc fails
166
170
  """
171
+ # register attempt start
172
+ self._operation_metric.start_attempt()
167
173
  request_entries = [self.mutations[idx].proto for idx in self.remaining_indices]
168
174
  # track mutations in this request that have not been finalized yet
169
175
  active_request_indices = {