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.
- {google_cloud_bigtable-2.43.0/google_cloud_bigtable.egg-info → google_cloud_bigtable-2.45.0}/PKG-INFO +2 -2
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/gapic_version.py +1 -1
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row.py +82 -112
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_filters.py +24 -18
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/table.py +94 -208
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin/__init__.py +2 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin/gapic_version.py +1 -1
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/__init__.py +5 -87
- google_cloud_bigtable-2.45.0/google/cloud/bigtable_admin_v2/_compat.py +262 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/gapic_version.py +1 -1
- {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
- {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
- google_cloud_bigtable-2.45.0/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest_base.py +650 -0
- {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
- {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
- google_cloud_bigtable-2.45.0/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest_base.py +731 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/__init__.py +2 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/table.py +37 -1
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/__init__.py +3 -87
- google_cloud_bigtable-2.45.0/google/cloud/bigtable_v2/_compat.py +262 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/gapic_version.py +1 -1
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/async_client.py +9 -9
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/client.py +32 -166
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/rest.py +100 -160
- google_cloud_bigtable-2.45.0/google/cloud/bigtable_v2/services/bigtable/transports/rest_base.py +311 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0/google_cloud_bigtable.egg-info}/PKG-INFO +2 -2
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/SOURCES.txt +4 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/requires.txt +1 -1
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/setup.py +1 -1
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/test_system_async.py +11 -8
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/test_system_autogen.py +11 -8
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/__init__.py +5 -0
- google_cloud_bigtable-2.45.0/tests/system/utils.py +93 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/test_data_api.py +84 -126
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/test_table_admin.py +7 -18
- {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
- {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
- google_cloud_bigtable-2.45.0/tests/unit/gapic/bigtable_admin_v2/test_compat.py +429 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_v2/test_bigtable.py +85 -459
- google_cloud_bigtable-2.45.0/tests/unit/gapic/bigtable_v2/test_compat.py +429 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row.py +218 -148
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row_filters.py +8 -1
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_table.py +207 -641
- google_cloud_bigtable-2.43.0/google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/transports/rest_base.py +0 -1743
- google_cloud_bigtable-2.43.0/google/cloud/bigtable_admin_v2/services/bigtable_table_admin/transports/rest_base.py +0 -1998
- google_cloud_bigtable-2.43.0/google/cloud/bigtable_v2/services/bigtable/transports/rest_base.py +0 -718
- google_cloud_bigtable-2.43.0/tests/system/utils.py +0 -58
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/LICENSE +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/MANIFEST.in +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/README.rst +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/app_profile.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/backup.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/batcher.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/cluster.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/column_family.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/_mutate_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/_read_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/_swappable_channel.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/metrics_interceptor.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_async/mutations_batcher.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/_decorators.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/_mapping_meta.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_cross_sync/cross_sync.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_helpers.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/data_model.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/handlers/_base.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/handlers/gcp_exporter.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/handlers/opentelemetry.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/metrics_controller.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_metrics/tracked_retry.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/_mutate_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/_read_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/_swappable_channel.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/metrics_interceptor.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/_sync_autogen/mutations_batcher.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/exceptions.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_async/__init__.py +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_byte_cursor.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_checksum.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_parameters_formatting.py +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/_reader.py +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/metadata.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/execute_query/values.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/mutations.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/read_modify_write_rules.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/read_rows_query.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/row.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/data/row_filters.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/encryption_info.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/enums.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/error.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/helpers.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/instance.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/policy.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/py.typed +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_data.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_merger.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_set.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin/py.typed +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/gapic_metadata.json +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/services/__init__.py +0 -0
- {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
- {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
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/async_consistency.py +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/consistency.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/overlay/types/restore_table.py +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/py.typed +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/services/__init__.py +0 -0
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/bigtable_instance_admin.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/bigtable_table_admin.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/common.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/instance.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/types/types.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/utils/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_admin_v2/utils/oneof_message.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/gapic_metadata.json +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/py.typed +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/base.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/grpc.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/services/bigtable/transports/grpc_asyncio.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/bigtable.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/data.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/feature_flags.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/peer_info.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/request_stats.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/response_params.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/session.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable_v2/types/types.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/dependency_links.txt +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/not-zip-safe +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google_cloud_bigtable.egg-info/top_level.txt +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/setup.cfg +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/admin_overlay/conftest.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/conftest.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/async_to_sync.yaml +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/cross_sync_files.yaml +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/rm_aio.yaml +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cases/symbol_replacer.yaml +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/cross_sync/test_cross_sync_e2e.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_metrics_async.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_metrics_autogen.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_system_async.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/data/test_system_autogen.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/_helpers.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/conftest.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/system/v2_client/test_instance_admin.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/my_oneof_message.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_admin_packaging.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_async_client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_async_consistency.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_async_restore_table.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_consistency.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_oneof_message.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/admin_overlay/test_restore_table.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/conftest.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test__mutate_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test__read_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test__swappable_channel.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_metrics_interceptor.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_mutations_batcher.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_async/test_read_rows_acceptance.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_cross_sync/test_cross_sync.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_cross_sync/test_cross_sync_decorators.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_data_model.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_gcp_exporter_handler.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_metrics_controller.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_opentelemetry_handler.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_metrics/test_tracked_retry.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test__mutate_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test__read_rows.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test__swappable_channel.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_metrics_interceptor.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_mutations_batcher.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/_sync_autogen/test_read_rows_acceptance.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/_async/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/_async/test_query_iterator.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/_sync_autogen/__init__.py +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/README.md +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/descriptors.pb +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/singer.proto +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/resources/singer_pb2.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/sql_helpers.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_byte_cursor.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_checksum.py +0 -0
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/execute_query/test_metadata.py +0 -0
- {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
- {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
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/read-rows-acceptance-test.json +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test__helpers.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_exceptions.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_helpers.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_mutations.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_read_modify_write_rules.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_read_rows_query.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_row.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_row_filters.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/data/test_sync_up_to_date.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_admin_v2/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/gapic/bigtable_v2/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/test_packaging.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/test_sql_routing_parameters.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/__init__.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/_testing.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/read-rows-acceptance-test.json +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_app_profile.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_backup.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_batcher.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_client.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_cluster.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_column_family.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_encryption_info.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_error.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_instance.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_policy.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row_data.py +0 -0
- {google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/tests/unit/v2_client/test_row_merger.py +0 -0
- {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.
|
|
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.
|
|
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"
|
|
@@ -14,17 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
"""User-friendly container for Google Cloud Bigtable Row."""
|
|
16
16
|
|
|
17
|
-
import
|
|
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.
|
|
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
|
|
167
|
-
timestamp_micros =
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
227
|
-
|
|
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
|
-
|
|
233
|
-
|
|
234
|
-
|
|
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
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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: :
|
|
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
|
-
|
|
475
|
-
|
|
476
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
602
|
-
resp =
|
|
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
|
-
|
|
606
|
-
|
|
607
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
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
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
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.
|
|
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
|
-
|
|
939
|
-
row_response =
|
|
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.
|
|
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
|
|
988
|
-
|
|
989
|
-
|
|
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
|
|
{google_cloud_bigtable-2.43.0 → google_cloud_bigtable-2.45.0}/google/cloud/bigtable/row_filters.py
RENAMED
|
@@ -17,33 +17,39 @@
|
|
|
17
17
|
import struct
|
|
18
18
|
|
|
19
19
|
from google.cloud.bigtable.data.row_filters import ( # noqa: F401
|
|
20
|
-
|
|
21
|
-
SinkFilter,
|
|
22
|
-
_BoolFilter,
|
|
23
|
-
PassAllFilter,
|
|
20
|
+
ApplyLabelFilter,
|
|
24
21
|
BlockAllFilter,
|
|
25
|
-
|
|
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
|
-
|
|
29
|
-
|
|
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
|
-
|
|
44
|
-
|
|
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
|
|