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