google-cloud-bigtable 2.43.0__tar.gz → 2.45.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 (270) hide show
  1. {google_cloud_bigtable-2.43.0/google_cloud_bigtable.egg-info → google_cloud_bigtable-2.45.0}/PKG-INFO +2 -2
  2. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/gapic_version.py +1 -1
  3. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row.py +82 -112
  4. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_filters.py +24 -18
  5. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/table.py +94 -208
  6. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin/__init__.py +2 -0
  7. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin/gapic_version.py +1 -1
  8. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/__init__.py +5 -87
  9. google_cloud_bigtable-2.45.0/google/cloud/bigtable_admin_v2/_compat.py +262 -0
  10. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/gapic_version.py +1 -1
  11. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py +23 -162
  12. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest.py +280 -308
  13. google_cloud_bigtable-2.45.0/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest_base.py +650 -0
  14. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/client.py +23 -162
  15. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest.py +316 -360
  16. google_cloud_bigtable-2.45.0/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest_base.py +731 -0
  17. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/__init__.py +2 -0
  18. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/table.py +37 -1
  19. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/__init__.py +3 -87
  20. google_cloud_bigtable-2.45.0/google/cloud/bigtable_v2/_compat.py +262 -0
  21. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/gapic_version.py +1 -1
  22. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/async_client.py +9 -9
  23. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/client.py +32 -166
  24. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/rest.py +100 -160
  25. google_cloud_bigtable-2.45.0/google/cloud/bigtable_v2/services/bigtable/transports/rest_base.py +311 -0
  26. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0/google_cloud_bigtable.egg-info}/PKG-INFO +2 -2
  27. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/SOURCES.txt +4 -0
  28. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/requires.txt +1 -1
  29. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/setup.py +1 -1
  30. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/test_system_async.py +11 -8
  31. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/test_system_autogen.py +11 -8
  32. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/__init__.py +5 -0
  33. google_cloud_bigtable-2.45.0/tests/system/utils.py +93 -0
  34. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/test_data_api.py +84 -126
  35. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/test_table_admin.py +7 -18
  36. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_admin_v2/test_bigtable_instance_admin.py +278 -962
  37. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_admin_v2/test_bigtable_table_admin.py +317 -1095
  38. google_cloud_bigtable-2.45.0/tests/unit/gapic/bigtable_admin_v2/test_compat.py +429 -0
  39. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_v2/test_bigtable.py +85 -459
  40. google_cloud_bigtable-2.45.0/tests/unit/gapic/bigtable_v2/test_compat.py +429 -0
  41. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row.py +218 -148
  42. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row_filters.py +8 -1
  43. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_table.py +207 -641
  44. google_cloud_bigtable-2.43.0/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest_base.py +0 -1743
  45. google_cloud_bigtable-2.43.0/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest_base.py +0 -1998
  46. google_cloud_bigtable-2.43.0/google/cloud/bigtable_v2/services/bigtable/transports/rest_base.py +0 -718
  47. google_cloud_bigtable-2.43.0/tests/system/utils.py +0 -58
  48. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/LICENSE +0 -0
  49. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/MANIFEST.in +0 -0
  50. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/README.rst +0 -0
  51. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/__init__.py +0 -0
  52. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/app_profile.py +0 -0
  53. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/backup.py +0 -0
  54. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/batcher.py +0 -0
  55. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/client.py +0 -0
  56. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/cluster.py +0 -0
  57. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/column_family.py +0 -0
  58. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/__init__.py +0 -0
  59. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/__init__.py +0 -0
  60. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/_mutate_rows.py +0 -0
  61. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/_read_rows.py +0 -0
  62. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/_swappable_channel.py +0 -0
  63. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/client.py +0 -0
  64. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/metrics_interceptor.py +0 -0
  65. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/mutations_batcher.py +0 -0
  66. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/__init__.py +0 -0
  67. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/_decorators.py +0 -0
  68. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/_mapping_meta.py +0 -0
  69. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/cross_sync.py +0 -0
  70. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_helpers.py +0 -0
  71. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/__init__.py +0 -0
  72. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/data_model.py +0 -0
  73. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/handlers/_base.py +0 -0
  74. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/handlers/gcp_exporter.py +0 -0
  75. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/handlers/opentelemetry.py +0 -0
  76. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/metrics_controller.py +0 -0
  77. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/tracked_retry.py +0 -0
  78. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/_mutate_rows.py +0 -0
  79. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/_read_rows.py +0 -0
  80. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/_swappable_channel.py +0 -0
  81. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/client.py +0 -0
  82. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/metrics_interceptor.py +0 -0
  83. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/mutations_batcher.py +0 -0
  84. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/exceptions.py +0 -0
  85. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/__init__.py +0 -0
  86. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_async/__init__.py +0 -0
  87. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_async/execute_query_iterator.py +0 -0
  88. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_byte_cursor.py +0 -0
  89. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_checksum.py +0 -0
  90. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_parameters_formatting.py +0 -0
  91. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_query_result_parsing_utils.py +0 -0
  92. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_reader.py +0 -0
  93. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_sync_autogen/execute_query_iterator.py +0 -0
  94. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/metadata.py +0 -0
  95. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/values.py +0 -0
  96. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/mutations.py +0 -0
  97. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/read_modify_write_rules.py +0 -0
  98. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/read_rows_query.py +0 -0
  99. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/row.py +0 -0
  100. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/row_filters.py +0 -0
  101. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/encryption_info.py +0 -0
  102. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/enums.py +0 -0
  103. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/error.py +0 -0
  104. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/helpers.py +0 -0
  105. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/instance.py +0 -0
  106. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/policy.py +0 -0
  107. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/py.typed +0 -0
  108. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_data.py +0 -0
  109. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_merger.py +0 -0
  110. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_set.py +0 -0
  111. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin/py.typed +0 -0
  112. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/gapic_metadata.json +0 -0
  113. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/__init__.py +0 -0
  114. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/services/__init__.py +0 -0
  115. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/services/bigtable_table_admin/__init__.py +0 -0
  116. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/services/bigtable_table_admin/async_client.py +0 -0
  117. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/services/bigtable_table_admin/client.py +0 -0
  118. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/__init__.py +0 -0
  119. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/async_consistency.py +0 -0
  120. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/async_restore_table.py +0 -0
  121. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/consistency.py +0 -0
  122. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/restore_table.py +0 -0
  123. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/wait_for_consistency_request.py +0 -0
  124. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/py.typed +0 -0
  125. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/__init__.py +0 -0
  126. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/__init__.py +0 -0
  127. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/async_client.py +0 -0
  128. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/pagers.py +0 -0
  129. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/__init__.py +0 -0
  130. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/base.py +0 -0
  131. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc.py +0 -0
  132. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/grpc_asyncio.py +0 -0
  133. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/__init__.py +0 -0
  134. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/async_client.py +0 -0
  135. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/pagers.py +0 -0
  136. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/__init__.py +0 -0
  137. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/base.py +0 -0
  138. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc.py +0 -0
  139. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/grpc_asyncio.py +0 -0
  140. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/bigtable_instance_admin.py +0 -0
  141. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/bigtable_table_admin.py +0 -0
  142. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/common.py +0 -0
  143. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/instance.py +0 -0
  144. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/types.py +0 -0
  145. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/utils/__init__.py +0 -0
  146. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/utils/oneof_message.py +0 -0
  147. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/gapic_metadata.json +0 -0
  148. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/py.typed +0 -0
  149. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/__init__.py +0 -0
  150. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/__init__.py +0 -0
  151. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/__init__.py +0 -0
  152. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/base.py +0 -0
  153. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/grpc.py +0 -0
  154. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/grpc_asyncio.py +0 -0
  155. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/__init__.py +0 -0
  156. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/bigtable.py +0 -0
  157. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/data.py +0 -0
  158. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/feature_flags.py +0 -0
  159. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/peer_info.py +0 -0
  160. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/request_stats.py +0 -0
  161. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/response_params.py +0 -0
  162. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/session.py +0 -0
  163. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/types.py +0 -0
  164. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/dependency_links.txt +0 -0
  165. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/not-zip-safe +0 -0
  166. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/top_level.txt +0 -0
  167. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/setup.cfg +0 -0
  168. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/__init__.py +0 -0
  169. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/__init__.py +0 -0
  170. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/__init__.py +0 -0
  171. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/conftest.py +0 -0
  172. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/conftest.py +0 -0
  173. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/async_to_sync.yaml +0 -0
  174. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/cross_sync_files.yaml +0 -0
  175. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/rm_aio.yaml +0 -0
  176. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/strip_async_conditional_branches.yaml +0 -0
  177. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/symbol_replacer.yaml +0 -0
  178. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cross_sync_e2e.py +0 -0
  179. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_metrics_async.py +0 -0
  180. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_metrics_autogen.py +0 -0
  181. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_system_async.py +0 -0
  182. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_system_autogen.py +0 -0
  183. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/__init__.py +0 -0
  184. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/_helpers.py +0 -0
  185. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/conftest.py +0 -0
  186. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/test_instance_admin.py +0 -0
  187. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/__init__.py +0 -0
  188. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/my_oneof_message.py +0 -0
  189. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_admin_packaging.py +0 -0
  190. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_async_client.py +0 -0
  191. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_async_consistency.py +0 -0
  192. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_async_restore_table.py +0 -0
  193. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_client.py +0 -0
  194. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_consistency.py +0 -0
  195. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_oneof_message.py +0 -0
  196. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_restore_table.py +0 -0
  197. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/conftest.py +0 -0
  198. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/__init__.py +0 -0
  199. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/__init__.py +0 -0
  200. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test__mutate_rows.py +0 -0
  201. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test__read_rows.py +0 -0
  202. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test__swappable_channel.py +0 -0
  203. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_client.py +0 -0
  204. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_metrics_interceptor.py +0 -0
  205. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_mutations_batcher.py +0 -0
  206. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_read_rows_acceptance.py +0 -0
  207. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_cross_sync/test_cross_sync.py +0 -0
  208. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_cross_sync/test_cross_sync_decorators.py +0 -0
  209. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/__init__.py +0 -0
  210. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_data_model.py +0 -0
  211. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_gcp_exporter_handler.py +0 -0
  212. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_metrics_controller.py +0 -0
  213. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_opentelemetry_handler.py +0 -0
  214. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_tracked_retry.py +0 -0
  215. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/__init__.py +0 -0
  216. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test__mutate_rows.py +0 -0
  217. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test__read_rows.py +0 -0
  218. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test__swappable_channel.py +0 -0
  219. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_client.py +0 -0
  220. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_metrics_interceptor.py +0 -0
  221. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_mutations_batcher.py +0 -0
  222. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_read_rows_acceptance.py +0 -0
  223. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/__init__.py +0 -0
  224. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/_async/__init__.py +0 -0
  225. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/_async/test_query_iterator.py +0 -0
  226. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/_sync_autogen/__init__.py +0 -0
  227. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/_sync_autogen/test_query_iterator.py +0 -0
  228. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/README.md +0 -0
  229. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/__init__.py +0 -0
  230. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/descriptors.pb +0 -0
  231. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/singer.proto +0 -0
  232. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/singer_pb2.py +0 -0
  233. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/sql_helpers.py +0 -0
  234. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_byte_cursor.py +0 -0
  235. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_checksum.py +0 -0
  236. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_execute_query_parameters_parsing.py +0 -0
  237. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_metadata.py +0 -0
  238. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_query_result_parsing_utils.py +0 -0
  239. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_query_result_row_reader.py +0 -0
  240. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/read-rows-acceptance-test.json +0 -0
  241. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test__helpers.py +0 -0
  242. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_exceptions.py +0 -0
  243. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_helpers.py +0 -0
  244. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_mutations.py +0 -0
  245. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_read_modify_write_rules.py +0 -0
  246. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_read_rows_query.py +0 -0
  247. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_row.py +0 -0
  248. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_row_filters.py +0 -0
  249. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_sync_up_to_date.py +0 -0
  250. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/__init__.py +0 -0
  251. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_admin_v2/__init__.py +0 -0
  252. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_v2/__init__.py +0 -0
  253. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/test_packaging.py +0 -0
  254. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/test_sql_routing_parameters.py +0 -0
  255. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/__init__.py +0 -0
  256. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/_testing.py +0 -0
  257. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/read-rows-acceptance-test.json +0 -0
  258. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_app_profile.py +0 -0
  259. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_backup.py +0 -0
  260. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_batcher.py +0 -0
  261. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_client.py +0 -0
  262. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_cluster.py +0 -0
  263. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_column_family.py +0 -0
  264. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_encryption_info.py +0 -0
  265. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_error.py +0 -0
  266. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_instance.py +0 -0
  267. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_policy.py +0 -0
  268. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row_data.py +0 -0
  269. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row_merger.py +0 -0
  270. {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row_set.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-cloud-bigtable
3
- Version: 2.43.0
3
+ Version: 2.45.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
@@ -21,7 +21,7 @@ Classifier: Operating System :: OS Independent
21
21
  Classifier: Topic :: Internet
22
22
  Requires-Python: >=3.10
23
23
  License-File: LICENSE
24
- Requires-Dist: google-api-core[grpc]<3.0.0,>=2.25.0
24
+ Requires-Dist: google-api-core[grpc]<3.0.0,>=2.28.0
25
25
  Requires-Dist: google-auth!=2.24.0,!=2.25.0,<3.0.0,>=2.14.1
26
26
  Requires-Dist: grpcio<2.0.0,>=1.59.0
27
27
  Requires-Dist: grpcio<2.0.0,>=1.75.1; python_version >= "3.14"
@@ -13,4 +13,4 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
  #
16
- __version__ = "2.43.0" # {x-release-please-version}
16
+ __version__ = "2.45.0" # {x-release-please-version}
@@ -14,17 +14,16 @@
14
14
 
15
15
  """User-friendly container for Google Cloud Bigtable Row."""
16
16
 
17
- import struct
18
-
17
+ from google.api_core.exceptions import GoogleAPICallError
19
18
  from google.cloud._helpers import (
20
19
  _datetime_from_microseconds, # type: ignore
21
20
  _microseconds_from_datetime, # type: ignore
22
21
  _to_bytes, # type: ignore
23
22
  )
23
+ from google.rpc import code_pb2, status_pb2
24
24
 
25
- from google.cloud.bigtable_v2.types import data as data_v2_pb2
26
-
27
- _PACK_I64 = struct.Struct(">q").pack
25
+ from google.cloud.bigtable.data import mutations
26
+ from google.cloud.bigtable.data import read_modify_write_rules as rmw_rules
28
27
 
29
28
  MAX_MUTATIONS = 100000
30
29
  """The maximum number of mutations that a row can accumulate."""
@@ -158,26 +157,21 @@ class _SetDeleteRow(Row):
158
157
  :param state: (Optional) The state that is passed along to
159
158
  :meth:`_get_mutations`.
160
159
  """
161
- column = _to_bytes(column)
162
- if isinstance(value, int):
163
- value = _PACK_I64(value)
164
- value = _to_bytes(value)
165
160
  if timestamp is None:
166
- # Use -1 for current Bigtable server time.
167
- timestamp_micros = -1
161
+ # Use current Bigtable server time.
162
+ timestamp_micros = mutations._SERVER_SIDE_TIMESTAMP
168
163
  else:
169
164
  timestamp_micros = _microseconds_from_datetime(timestamp)
170
165
  # Truncate to millisecond granularity.
171
166
  timestamp_micros -= timestamp_micros % 1000
172
167
 
173
- mutation_val = data_v2_pb2.Mutation.SetCell(
174
- family_name=column_family_id,
175
- column_qualifier=column,
168
+ mutation = mutations.SetCell(
169
+ family=column_family_id,
170
+ qualifier=column,
171
+ new_value=value,
176
172
  timestamp_micros=timestamp_micros,
177
- value=value,
178
173
  )
179
- mutation_pb = data_v2_pb2.Mutation(set_cell=mutation_val)
180
- self._get_mutations(state).append(mutation_pb)
174
+ self._get_mutations(state).append(mutation)
181
175
 
182
176
  def _delete(self, state=None):
183
177
  """Helper for :meth:`delete`
@@ -192,9 +186,7 @@ class _SetDeleteRow(Row):
192
186
  :param state: (Optional) The state that is passed along to
193
187
  :meth:`_get_mutations`.
194
188
  """
195
- mutation_val = data_v2_pb2.Mutation.DeleteFromRow()
196
- mutation_pb = data_v2_pb2.Mutation(delete_from_row=mutation_val)
197
- self._get_mutations(state).append(mutation_pb)
189
+ self._get_mutations(state).append(mutations.DeleteAllFromRow())
198
190
 
199
191
  def _delete_cells(self, column_family_id, columns, time_range=None, state=None):
200
192
  """Helper for :meth:`delete_cell` and :meth:`delete_cells`.
@@ -221,33 +213,30 @@ class _SetDeleteRow(Row):
221
213
  :param state: (Optional) The state that is passed along to
222
214
  :meth:`_get_mutations`.
223
215
  """
224
- mutations_list = self._get_mutations(state)
225
216
  if columns is self.ALL_COLUMNS:
226
- mutation_val = data_v2_pb2.Mutation.DeleteFromFamily(
227
- family_name=column_family_id
217
+ self._get_mutations(state).append(
218
+ mutations.DeleteAllFromFamily(family_to_delete=column_family_id)
228
219
  )
229
- mutation_pb = data_v2_pb2.Mutation(delete_from_family=mutation_val)
230
- mutations_list.append(mutation_pb)
231
220
  else:
232
- delete_kwargs = {}
233
- if time_range is not None:
234
- delete_kwargs["time_range"] = time_range._to_pb()
221
+ timestamps = time_range._to_dict() if time_range else {}
222
+ start_timestamp_micros = timestamps.get("start_timestamp_micros")
223
+ end_timestamp_micros = timestamps.get("end_timestamp_micros")
235
224
 
236
225
  to_append = []
237
226
  for column in columns:
238
227
  column = _to_bytes(column)
239
- # time_range will never change if present, but the rest of
240
- # delete_kwargs will
241
- delete_kwargs.update(
242
- family_name=column_family_id, column_qualifier=column
228
+ to_append.append(
229
+ mutations.DeleteRangeFromColumn(
230
+ family=column_family_id,
231
+ qualifier=column,
232
+ start_timestamp_micros=start_timestamp_micros,
233
+ end_timestamp_micros=end_timestamp_micros,
234
+ )
243
235
  )
244
- mutation_val = data_v2_pb2.Mutation.DeleteFromColumn(**delete_kwargs)
245
- mutation_pb = data_v2_pb2.Mutation(delete_from_column=mutation_val)
246
- to_append.append(mutation_pb)
247
236
 
248
237
  # We don't add the mutations until all columns have been
249
238
  # processed without error.
250
- mutations_list.extend(to_append)
239
+ self._get_mutations(state).extend(to_append)
251
240
 
252
241
 
253
242
  class DirectRow(_SetDeleteRow):
@@ -285,7 +274,7 @@ class DirectRow(_SetDeleteRow):
285
274
 
286
275
  def __init__(self, row_key, table=None):
287
276
  super(DirectRow, self).__init__(row_key, table)
288
- self._pb_mutations = []
277
+ self._mutations = []
289
278
 
290
279
  def _get_mutations(self, state=None): # pylint: disable=unused-argument
291
280
  """Gets the list of mutations for a given state.
@@ -300,7 +289,12 @@ class DirectRow(_SetDeleteRow):
300
289
  :rtype: list
301
290
  :returns: The list to add new mutations to (for the current state).
302
291
  """
303
- return self._pb_mutations
292
+ return self._mutations
293
+
294
+ def _get_mutation_pbs(self):
295
+ """Gets the list of mutation protos."""
296
+
297
+ return [mut._to_pb() for mut in self._get_mutations()]
304
298
 
305
299
  def get_mutations_size(self):
306
300
  """Gets the total mutations size for current row
@@ -314,7 +308,7 @@ class DirectRow(_SetDeleteRow):
314
308
  """
315
309
 
316
310
  mutation_size = 0
317
- for mutation in self._get_mutations():
311
+ for mutation in self._get_mutation_pbs():
318
312
  mutation_size += mutation._pb.ByteSize()
319
313
 
320
314
  return mutation_size
@@ -449,7 +443,8 @@ class DirectRow(_SetDeleteRow):
449
443
  def commit(self):
450
444
  """Makes a ``MutateRow`` API request.
451
445
 
452
- If no mutations have been created in the row, no request is made.
446
+ If no mutations have been created in the row, no request is made and a
447
+ ValueError is raised instead.
453
448
 
454
449
  Mutations are applied atomically and in order, meaning that earlier
455
450
  mutations can be masked / negated by later ones. Cells already present
@@ -468,14 +463,30 @@ class DirectRow(_SetDeleteRow):
468
463
  :rtype: :class:`~google.rpc.status_pb2.Status`
469
464
  :returns: A response status (`google.rpc.status_pb2.Status`)
470
465
  representing success or failure of the row committed.
471
- :raises: :exc:`~.table.TooManyMutationsError` if the number of
472
- mutations is greater than 100,000.
466
+ :raises: ValueError: if no mutations have been created in the row
467
+ or if the number of mutations is greater than 100,000.
473
468
  """
474
- response = self._table.mutate_rows([self])
475
-
476
- self.clear()
469
+ num_mutations = len(self._get_mutations())
470
+ if num_mutations > MAX_MUTATIONS:
471
+ raise ValueError(
472
+ "Number of mutations exceeds the maximum "
473
+ "allowable %d." % (MAX_MUTATIONS,)
474
+ )
477
475
 
478
- return response[0]
476
+ try:
477
+ self._table._table_impl.mutate_row(self.row_key, self._get_mutations())
478
+ return status_pb2.Status(code=code_pb2.OK)
479
+ except GoogleAPICallError as e:
480
+ # If the RPC call returns an error, extract the error into a status object, if possible.
481
+ return status_pb2.Status(
482
+ code=e.grpc_status_code.value[0]
483
+ if e.grpc_status_code is not None
484
+ else code_pb2.UNKNOWN,
485
+ message=e.message,
486
+ details=getattr(e, "details", []),
487
+ )
488
+ finally:
489
+ self.clear()
479
490
 
480
491
  def clear(self):
481
492
  """Removes all currently accumulated mutations on the current row.
@@ -487,7 +498,7 @@ class DirectRow(_SetDeleteRow):
487
498
  :end-before: [END bigtable_api_row_clear]
488
499
  :dedent: 4
489
500
  """
490
- del self._pb_mutations[:]
501
+ del self._mutations[:]
491
502
 
492
503
 
493
504
  class ConditionalRow(_SetDeleteRow):
@@ -598,17 +609,15 @@ class ConditionalRow(_SetDeleteRow):
598
609
  % (MAX_MUTATIONS, num_true_mutations, num_false_mutations)
599
610
  )
600
611
 
601
- data_client = self._table._instance._client.table_data_client
602
- resp = data_client.check_and_mutate_row(
603
- table_name=self._table.name,
612
+ table = self._table._table_impl
613
+ resp = table.check_and_mutate_row(
604
614
  row_key=self._row_key,
605
- predicate_filter=self._filter._to_pb(),
606
- app_profile_id=self._table._app_profile_id,
607
- true_mutations=true_mutations,
608
- false_mutations=false_mutations,
615
+ predicate=self._filter,
616
+ true_case_mutations=true_mutations,
617
+ false_case_mutations=false_mutations,
609
618
  )
610
619
  self.clear()
611
- return resp.predicate_matched
620
+ return resp
612
621
 
613
622
  # pylint: disable=arguments-differ
614
623
  def set_cell(self, column_family_id, column, value, timestamp=None, state=True):
@@ -798,7 +807,7 @@ class AppendRow(Row):
798
807
 
799
808
  def __init__(self, row_key, table):
800
809
  super(AppendRow, self).__init__(row_key, table)
801
- self._rule_pb_list = []
810
+ self._rule_list = []
802
811
 
803
812
  def clear(self):
804
813
  """Removes all currently accumulated modifications on current row.
@@ -810,7 +819,7 @@ class AppendRow(Row):
810
819
  :end-before: [END bigtable_api_row_clear]
811
820
  :dedent: 4
812
821
  """
813
- del self._rule_pb_list[:]
822
+ del self._rule_list[:]
814
823
 
815
824
  def append_cell_value(self, column_family_id, column, value):
816
825
  """Appends a value to an existing cell.
@@ -843,12 +852,11 @@ class AppendRow(Row):
843
852
  the targeted cell is unset, it will be treated as
844
853
  containing the empty string.
845
854
  """
846
- column = _to_bytes(column)
847
- value = _to_bytes(value)
848
- rule_pb = data_v2_pb2.ReadModifyWriteRule(
849
- family_name=column_family_id, column_qualifier=column, append_value=value
855
+ self._rule_list.append(
856
+ rmw_rules.AppendValueRule(
857
+ family=column_family_id, qualifier=column, append_value=value
858
+ )
850
859
  )
851
- self._rule_pb_list.append(rule_pb)
852
860
 
853
861
  def increment_cell_value(self, column_family_id, column, int_value):
854
862
  """Increments a value in an existing cell.
@@ -887,13 +895,11 @@ class AppendRow(Row):
887
895
  big-endian signed integer), or the entire request
888
896
  will fail.
889
897
  """
890
- column = _to_bytes(column)
891
- rule_pb = data_v2_pb2.ReadModifyWriteRule(
892
- family_name=column_family_id,
893
- column_qualifier=column,
894
- increment_amount=int_value,
898
+ self._rule_list.append(
899
+ rmw_rules.IncrementRule(
900
+ family=column_family_id, qualifier=column, increment_amount=int_value
901
+ )
895
902
  )
896
- self._rule_pb_list.append(rule_pb)
897
903
 
898
904
  def commit(self):
899
905
  """Makes a ``ReadModifyWriteRow`` API request.
@@ -926,7 +932,7 @@ class AppendRow(Row):
926
932
  :raises: :class:`ValueError <exceptions.ValueError>` if the number of
927
933
  mutations exceeds the :data:`MAX_MUTATIONS`.
928
934
  """
929
- num_mutations = len(self._rule_pb_list)
935
+ num_mutations = len(self._rule_list)
930
936
  if num_mutations == 0:
931
937
  return {}
932
938
  if num_mutations > MAX_MUTATIONS:
@@ -935,12 +941,10 @@ class AppendRow(Row):
935
941
  "allowable %d." % (num_mutations, MAX_MUTATIONS)
936
942
  )
937
943
 
938
- data_client = self._table._instance._client.table_data_client
939
- row_response = data_client.read_modify_write_row(
940
- table_name=self._table.name,
944
+ table = self._table._table_impl
945
+ row_response = table.read_modify_write_row(
941
946
  row_key=self._row_key,
942
- rules=self._rule_pb_list,
943
- app_profile_id=self._table._app_profile_id,
947
+ rules=self._rule_list,
944
948
  )
945
949
 
946
950
  # Reset modifications after commit-ing request.
@@ -984,47 +988,13 @@ def _parse_rmw_row_response(row_response):
984
988
  }
985
989
  """
986
990
  result = {}
987
- for column_family in row_response.row.families:
988
- column_family_id, curr_family = _parse_family_pb(column_family)
989
- result[column_family_id] = curr_family
991
+ for cell in row_response.cells:
992
+ column_family = result.setdefault(cell.family, {})
993
+ column = column_family.setdefault(cell.qualifier, [])
994
+ column.append((cell.value, _datetime_from_microseconds(cell.timestamp_micros)))
990
995
  return result
991
996
 
992
997
 
993
- def _parse_family_pb(family_pb):
994
- """Parses a Family protobuf into a dictionary.
995
-
996
- :type family_pb: :class:`._generated.data_pb2.Family`
997
- :param family_pb: A protobuf
998
-
999
- :rtype: tuple
1000
- :returns: A string and dictionary. The string is the name of the
1001
- column family and the dictionary has column names (within the
1002
- family) as keys and cell lists as values. Each cell is
1003
- represented with a two-tuple with the value (in bytes) and the
1004
- timestamp for the cell. For example:
1005
-
1006
- .. code:: python
1007
-
1008
- {
1009
- b'col-name1': [
1010
- (b'cell-val', datetime.datetime(...)),
1011
- (b'cell-val-newer', datetime.datetime(...)),
1012
- ],
1013
- b'col-name2': [
1014
- (b'altcol-cell-val', datetime.datetime(...)),
1015
- ],
1016
- }
1017
- """
1018
- result = {}
1019
- for column in family_pb.columns:
1020
- result[column.qualifier] = cells = []
1021
- for cell in column.cells:
1022
- val_pair = (cell.value, _datetime_from_microseconds(cell.timestamp_micros))
1023
- cells.append(val_pair)
1024
-
1025
- return family_pb.name, result
1026
-
1027
-
1028
998
  class PartialRowData(object):
1029
999
  """Representation of partial row in a Google Cloud Bigtable Table.
1030
1000
 
@@ -17,33 +17,39 @@
17
17
  import struct
18
18
 
19
19
  from google.cloud.bigtable.data.row_filters import ( # noqa: F401
20
- RowFilter,
21
- SinkFilter,
22
- _BoolFilter,
23
- PassAllFilter,
20
+ ApplyLabelFilter,
24
21
  BlockAllFilter,
25
- _RegexFilter,
22
+ CellsColumnLimitFilter,
23
+ CellsRowLimitFilter,
24
+ CellsRowOffsetFilter,
25
+ ColumnQualifierRegexFilter,
26
+ FamilyNameRegexFilter,
27
+ PassAllFilter,
28
+ RowFilter,
29
+ RowFilterChain,
30
+ RowFilterUnion,
26
31
  RowKeyRegexFilter,
27
32
  RowSampleFilter,
28
- FamilyNameRegexFilter,
29
- ColumnQualifierRegexFilter,
33
+ SinkFilter,
34
+ StripValueTransformerFilter,
30
35
  TimestampRange,
31
- TimestampRangeFilter as BaseTimestampRangeFilter,
32
- ColumnRangeFilter as BaseColumnRangeFilter,
33
- ValueRegexFilter,
34
- ValueRangeFilter,
35
36
  ValueBitmaskFilter,
37
+ ValueRangeFilter,
38
+ ValueRegexFilter,
39
+ _BoolFilter,
36
40
  _CellCountFilter,
37
- CellsRowOffsetFilter,
38
- CellsRowLimitFilter,
39
- CellsColumnLimitFilter,
40
- StripValueTransformerFilter,
41
- ApplyLabelFilter,
42
41
  _FilterCombination,
43
- RowFilterChain,
44
- RowFilterUnion,
42
+ _RegexFilter,
43
+ )
44
+ from google.cloud.bigtable.data.row_filters import (
45
+ ColumnRangeFilter as BaseColumnRangeFilter,
46
+ )
47
+ from google.cloud.bigtable.data.row_filters import (
45
48
  ConditionalRowFilter as BaseConditionalRowFilter,
46
49
  )
50
+ from google.cloud.bigtable.data.row_filters import (
51
+ TimestampRangeFilter as BaseTimestampRangeFilter,
52
+ )
47
53
 
48
54
  _PACK_I64 = struct.Struct(">q").pack
49
55