chore(migration): Migrate code from googleapis/python-bigtable into packages/google-cloud-bigtable#16003
chore(migration): Migrate code from googleapis/python-bigtable into packages/google-cloud-bigtable#16003
Conversation
* feat: publish the RequestStats proto PiperOrigin-RevId: 476399682 Source-Link: googleapis/googleapis@0c4e682 Source-Link: googleapis/googleapis-gen@ff87f69 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZmY4N2Y2OWFhZDFmMmZmMDY3NzJmOTE3ZWVjYmVhNjQ5Nzk3ZDlkNSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore: exclude requirements.txt file from renovate-bot Source-Link: googleapis/synthtool@f58d313 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:7a40313731a7cb1454eef6b33d3446ebb121836738dc3ab3d2d3ded5268c35b6 * update constraints files * fix(deps): require protobuf 3.20.2 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* fix(deps): allow protobuf 3.19.5 * explicitly exclude protobuf 4.21.0
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* feat: allow end users to override the deadline for manipulating column families As a sideeffect this also fixes a bug where the default deadlines were not applied. * limit scope of change to just use the default timeout * lint
🤖 I have created a release *beep* *boop* --- ## [2.13.2](https://togithub.com/googleapis/python-bigtable/compare/v2.13.1...v2.13.2) (2022-10-20) ### Bug Fixes * Respect deadlines for column family operations ([#687](https://togithub.com/googleapis/python-bigtable/issues/687)) ([df2e64a](https://togithub.com/googleapis/python-bigtable/commit/df2e64a79bbd8b28d0991706607af99d539320d1)) --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
* feat: remove proto ReadEfficiencyStats feat: remove field RequestStats.read_efficiency_stats feat: rename proto AllReadStats to FullReadStatsView feat: rename field RequestStats.all_read_stats to full_read_stats_view feat: rename proto ReadIteratorStats to ReadIterationStats feat: remove enum value ReadRowsRequest.RequestStatsView.REQUEST_STATS_EFFICIENCY feat: remove field ReadIterationStats.deletes_seen PiperOrigin-RevId: 479370243 Source-Link: googleapis/googleapis@959d789 Source-Link: googleapis/googleapis-gen@38b4252 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzhiNDI1MjY0YzAzZjNjZGNhMjc5NTAzYzgwMWM4NjYwNGM4YTY3YSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: update to gapic-generator-python 1.5.0 feat: add support for `google.cloud.<api>.__version__` PiperOrigin-RevId: 484665853 Source-Link: googleapis/googleapis@8eb249a Source-Link: googleapis/googleapis-gen@c8aa327 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzhhYTMyN2I1ZjQ3ODg2NWZjM2ZkOTFlM2MyNzY4ZTU0ZTI2YWQ0NCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: Update to gapic-generator-python 1.6.0 feat(python): Add typing to proto.Message based class attributes feat(python): Snippetgen handling of repeated enum field PiperOrigin-RevId: 487326846 Source-Link: googleapis/googleapis@da380c7 Source-Link: googleapis/googleapis-gen@61ef576 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNjFlZjU3NjJlZTY3MzFhMGNiYmZlYTIyZmQwZWVjZWU1MWFiMWM4ZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: new APIs added to reflect updates to the filestore service - Add ENTERPRISE Tier - Add snapshot APIs: RevertInstance, ListSnapshots, CreateSnapshot, DeleteSnapshot, UpdateSnapshot - Add multi-share APIs: ListShares, GetShare, CreateShare, DeleteShare, UpdateShare - Add ConnectMode to NetworkConfig (for Private Service Access support) - New status codes (SUSPENDED/SUSPENDING, REVERTING/RESUMING) - Add SuspensionReason (for KMS related suspension) - Add new fields to Instance information: max_capacity_gb, capacity_step_size_gb, max_share_count, capacity_gb, multi_share_enabled PiperOrigin-RevId: 487492758 Source-Link: googleapis/googleapis@5be5981 Source-Link: googleapis/googleapis-gen@ab0e217 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWIwZTIxN2Y1NjBjYzJjMWFmYzExNDQxYzJlYWI2YjY5NTBlZmQyYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * Add gapic_version to google.cloud.bigtable Manually adjust the import of gapic_version * chore: Update gapic-generator-python to v1.6.1 PiperOrigin-RevId: 488036204 Source-Link: googleapis/googleapis@08f275f Source-Link: googleapis/googleapis-gen@555c094 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTU1YzA5NDVlNjA2NDllMzg3MzlhZTY0YmM0NTcxOWNkZjcyMTc4ZiJ9 * Fix the version * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * Remove unused import * Fix the import * Add release please config and manifest Add gapic version under bigtable_admin_v2 * Fix path to bigtable in setup.py * add google.cloud.bigtable_admin * hardcode bigtable version in owlbot.py * Remove unused gapic_version.py from bigtable_admin_v2 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Mariatta Wijaya <mariattaw@google.com> Co-authored-by: Mariatta Wijaya <Mariatta@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Source-Link: googleapis/synthtool@25083af Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:e6cbd61f1838d9ff6a31436dfc13717f372a7482a82fc1863ca954ec47bff8c8 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Source-Link: googleapis/synthtool@6ed3a83 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:3abfa0f1886adaf0b83f07cb117b24a639ea1cb9cffe56d43280b977033563eb Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
* fix(deps): Require google-api-core >=1.34.0, >=2.11.0 fix: Drop usage of pkg_resources fix: Fix timeout default values docs(samples): Snippetgen should call await on the operation coroutine before calling result PiperOrigin-RevId: 493260409 Source-Link: googleapis/googleapis@fea4387 Source-Link: googleapis/googleapis-gen@387b734 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMzg3YjczNDRjNzUyOWVlNDRiZTg0ZTYxM2IxOWE4MjA1MDhjNjEyYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * update release-please-config.json * drop pkg_resources * update the version in gapic_version.py * fix typo * lint Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
…cp/templates/python_library/.kokoro (#711) Source-Link: googleapis/synthtool@b4fe62e Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:3bf87e47c2173d7eed42714589dc4da2c07c3268610f1e47f8e1a30decbfc7f1 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore(python): add support for python 3.11 Source-Link: googleapis/synthtool@7197a00 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:c43f1d918bcf817d337aa29ff833439494a158a0831508fda4ec75dc4c0d0320 * add constraints file for python 3.11 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
* feat: Add support for python 3.11 chore: Update gapic-generator-python to v1.8.0 PiperOrigin-RevId: 500768693 Source-Link: googleapis/googleapis@190b612 Source-Link: googleapis/googleapis-gen@7bf29a4 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiN2JmMjlhNDE0YjllY2FjMzE3MGYwYjY1YmRjMmE5NTcwNWMwZWYxYSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * require proto-plus 1.22.2 for python 3.11 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
- [ ] Regenerate this pull request now. BEGIN_COMMIT_OVERRIDE feat: add PeerInfo proto in Bigtable API fix: Add ReadRows/SampleRowKeys bindings for materialized views fix: Deprecate credentials_file argument feat: Add Type API updates needed to support structured keys in materialized views feat: Add encodings for STRUCT and the Timestamp type END_COMMIT_OVERRIDE PiperOrigin-RevId: 829585900 Source-Link: googleapis/googleapis@1b5f863 Source-Link: googleapis/googleapis-gen@1a69287 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMWE2OTI4NzUwMDNlMjc1NDcyOWRjMmE0Y2NhODgwNTUwNTFkMmFhZSJ9 BEGIN_NESTED_COMMIT fix: Add ReadRows/SampleRowKeys bindings for materialized views fix: Deprecate credentials_file argument chore: Update gapic-generator-python to 1.28.0 PiperOrigin-RevId: 816753840 Source-Link: googleapis/googleapis@d06cf27 Source-Link: googleapis/googleapis-gen@a524e73 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYTUyNGU3MzEwODgyYmJiOTliZmUxMzk5YjE4YmVkMzI4OTc5MjExYyJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: Add Type API updates needed to support structured keys in materialized views feat: Add encodings for STRUCT and the Timestamp type PiperOrigin-RevId: 805031861 Source-Link: googleapis/googleapis@6d1dca2 Source-Link: googleapis/googleapis-gen@ecd9d88 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZWNkOWQ4ODYwYmFlOGJiMzdiNDUyYmZjNmVlZmJkZDIyZDAyOGYwOSJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT chore: Update gapic-generator-python to 1.26.2 PiperOrigin-RevId: 802200836 Source-Link: googleapis/googleapis@d300b15 Source-Link: googleapis/googleapis-gen@a1ff0ae Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYTFmZjBhZTcyZGRjYjY4YTI1OTIxNWQ4Yzc3NjYxZTJjZGJiOWIwMiJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT chore: update Python generator version to 1.25.1 PiperOrigin-RevId: 800535761 Source-Link: googleapis/googleapis@4cf1f99 Source-Link: googleapis/googleapis-gen@133d25b Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTMzZDI1YjY4ZTcxMjExNmUxYzVkYzcxZmMzZWIzYzVlNzE3MDIyYSJ9 END_NESTED_COMMIT BEGIN_NESTED_COMMIT fix: Add ReadRows/SampleRowKeys bindings for materialized views PiperOrigin-RevId: 793800781 Source-Link: googleapis/googleapis@fe06a49 Source-Link: googleapis/googleapis-gen@c4550f6 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzQ1NTBmNjA3MjVkYzRjMDdhZGZlNjhjZWUwYWM3MmViNGE1YjFiYiJ9 END_NESTED_COMMIT --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Remove [releases.md](https://github.com/googleapis/python-bigtable/blob/main/releases.md) which is unused. This points to CHANGELOG.md at `../../bigtable/CHANGELOG.md` which doesn't exist
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [apache-beam](https://beam.apache.org) | `==2.65.0` -> `==2.69.0` |  |  | | [google-cloud-bigtable](https://redirect.github.com/googleapis/python-bigtable) | `==2.30.1` -> `==2.34.0` |  |  | | [google-cloud-core](https://redirect.github.com/googleapis/python-cloud-core) | `==2.4.3` -> `==2.5.0` |  |  | | [google-cloud-monitoring](https://redirect.github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-monitoring) ([source](https://redirect.github.com/googleapis/google-cloud-python)) | `==2.27.1` -> `==2.28.0` |  |  | | [google-cloud-testutils](https://redirect.github.com/googleapis/python-test-utils) | `==1.6.4` -> `==1.7.0` |  |  | --- ### Release Notes <details> <summary>googleapis/python-bigtable (google-cloud-bigtable)</summary> ### [`v2.34.0`](https://redirect.github.com/googleapis/python-bigtable/blob/HEAD/CHANGELOG.md#2340-2025-10-16) [Compare Source](https://redirect.github.com/googleapis/python-bigtable/compare/v2.33.0...v2.34.0) ##### Features - Add support for Python 3.14 ([#​1217](https://redirect.github.com/googleapis/python-bigtable/issues/1217)) ([263332a](https://redirect.github.com/googleapis/python-bigtable/commit/263332af71a229cb4fa598008a708137086a6f67)) ### [`v2.33.0`](https://redirect.github.com/googleapis/python-bigtable/blob/HEAD/CHANGELOG.md#2330-2025-10-06) [Compare Source](https://redirect.github.com/googleapis/python-bigtable/compare/v2.32.0...v2.33.0) ##### Features - Add support for Proto and Enum types ([#​1202](https://redirect.github.com/googleapis/python-bigtable/issues/1202)) ([34ceb86](https://redirect.github.com/googleapis/python-bigtable/commit/34ceb86007db08d453fa25cca4968d5b498ffcd6)) - Expose universe\_domain for tpc ([#​1150](https://redirect.github.com/googleapis/python-bigtable/issues/1150)) ([451fd97](https://redirect.github.com/googleapis/python-bigtable/commit/451fd97e435218ffed47d39423680ffc4feccac4)) ##### Bug Fixes - Fix instance registration cleanup on early iterator termination ([#​1216](https://redirect.github.com/googleapis/python-bigtable/issues/1216)) ([bbfd746](https://redirect.github.com/googleapis/python-bigtable/commit/bbfd746c61a6362efa42c7899ec3e34ceb541c83)) - Refactor channel refresh ([#​1174](https://redirect.github.com/googleapis/python-bigtable/issues/1174)) ([6fa3008](https://redirect.github.com/googleapis/python-bigtable/commit/6fa30084058bc34d4487d1fee5c87d7795ff167a)) ### [`v2.32.0`](https://redirect.github.com/googleapis/python-bigtable/blob/HEAD/CHANGELOG.md#2320-2025-08-01) [Compare Source](https://redirect.github.com/googleapis/python-bigtable/compare/v2.31.0...v2.32.0) ##### Features - Add Idempotency to Cloud Bigtable MutateRowsRequest API ([#​1143](https://redirect.github.com/googleapis/python-bigtable/issues/1143)) ([c3e3eb0](https://redirect.github.com/googleapis/python-bigtable/commit/c3e3eb0e4ce44ece72b150dc5822846627074fba)) - Add support for AddToCell in Data Client ([#​1147](https://redirect.github.com/googleapis/python-bigtable/issues/1147)) ([1a5b4b5](https://redirect.github.com/googleapis/python-bigtable/commit/1a5b4b514cadae5c83d61296314285d3774992c5)) - Implement SQL support in test proxy ([#​1106](https://redirect.github.com/googleapis/python-bigtable/issues/1106)) ([7a91bbf](https://redirect.github.com/googleapis/python-bigtable/commit/7a91bbfb9df23f7e93c40b88648840342af6f16f)) - Modernized Bigtable Admin Client featuring selective GAPIC generation ([#​1177](https://redirect.github.com/googleapis/python-bigtable/issues/1177)) ([58e7d37](https://redirect.github.com/googleapis/python-bigtable/commit/58e7d3782df6b13a42af053263afc575222a6b83)) ### [`v2.31.0`](https://redirect.github.com/googleapis/python-bigtable/blob/HEAD/CHANGELOG.md#2310-2025-05-22) [Compare Source](https://redirect.github.com/googleapis/python-bigtable/compare/v2.30.1...v2.31.0) ##### Features - Add deletion\_protection support for LVs ([#​1108](https://redirect.github.com/googleapis/python-bigtable/issues/1108)) ([c6d384d](https://redirect.github.com/googleapis/python-bigtable/commit/c6d384d4a104c182326e22dc3f10b7b905780dee)) - Support authorized views ([#​1034](https://redirect.github.com/googleapis/python-bigtable/issues/1034)) ([97a0198](https://redirect.github.com/googleapis/python-bigtable/commit/97a019833d82e617769c56761aa5548d3ab896b9)) - Throw better error on invalid metadata response ([#​1107](https://redirect.github.com/googleapis/python-bigtable/issues/1107)) ([2642317](https://redirect.github.com/googleapis/python-bigtable/commit/2642317077b723ca8fd62aa86322b524868c2c4d)) ##### Bug Fixes - Re-add py-typed file for bigtable package ([#​1085](https://redirect.github.com/googleapis/python-bigtable/issues/1085)) ([0c322c7](https://redirect.github.com/googleapis/python-bigtable/commit/0c322c79ecbe4cde3e79d8e83ac655a978d07877)) </details> <details> <summary>googleapis/python-cloud-core (google-cloud-core)</summary> ### [`v2.5.0`](https://redirect.github.com/googleapis/python-cloud-core/blob/HEAD/CHANGELOG.md#250-2025-10-27) [Compare Source](https://redirect.github.com/googleapis/python-cloud-core/compare/v2.4.3...v2.5.0) ##### Features - Add Python 3.14 support ([#​333](https://redirect.github.com/googleapis/python-cloud-core/issues/333)) ([c26e587](https://redirect.github.com/googleapis/python-cloud-core/commit/c26e587a79b1905f4d64e409b853d9e50bbb6c17)) ##### Bug Fixes - Remove setup.cfg configuration for creating universal wheels ([#​332](https://redirect.github.com/googleapis/python-cloud-core/issues/332)) ([78ce8a6](https://redirect.github.com/googleapis/python-cloud-core/commit/78ce8a6f7c781cf2585131d7961beec9069a206c)) - Resolve issue where pre-release versions of dependencies are installed ([#​329](https://redirect.github.com/googleapis/python-cloud-core/issues/329)) ([ab9785d](https://redirect.github.com/googleapis/python-cloud-core/commit/ab9785d1bce1d50a03ff41d9b377dc7632772105)) </details> <details> <summary>googleapis/google-cloud-python (google-cloud-monitoring)</summary> ### [`v2.28.0`](https://redirect.github.com/googleapis/google-cloud-python/compare/google-cloud-speech-v2.27.0...google-cloud-speech-v2.28.0) [Compare Source](https://redirect.github.com/googleapis/google-cloud-python/compare/google-cloud-monitoring-v2.27.2...google-cloud-monitoring-v2.28.0) ### [`v2.27.2`](https://redirect.github.com/googleapis/google-cloud-python/releases/tag/google-cloud-monitoring-v2.27.2): google-cloud-monitoring: v2.27.2 [Compare Source](https://redirect.github.com/googleapis/google-cloud-python/compare/google-cloud-monitoring-v2.27.1...google-cloud-monitoring-v2.27.2) ##### Documentation - Update import statement example in README ([868b006](https://redirect.github.com/googleapis/google-cloud-python/commit/868b0069baf1a4bf6705986e0b6885419b35cdcc)) </details> <details> <summary>googleapis/python-test-utils (google-cloud-testutils)</summary> ### [`v1.7.0`](https://redirect.github.com/googleapis/python-test-utils/blob/HEAD/CHANGELOG.md#170-2025-10-29) [Compare Source](https://redirect.github.com/googleapis/python-test-utils/compare/v1.6.4...v1.7.0) ##### Features - Add Python 3.14 support ([#​284](https://redirect.github.com/googleapis/python-test-utils/issues/284)) ([3cb8491](https://redirect.github.com/googleapis/python-test-utils/commit/3cb8491d67d65d2262aa1b65091ea9b615b583af)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/python-bigtable). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
There's an internal race condition where when an rpc hits the timeout limit, it sometimes receives a DEADLINE_EXCEEDED, but sometimes receives a CANCELLED error. This PR marks CANCELLED as retryable, so this situation will always eventually reach a DEADLINE_EXCEEDED state. This will fix the flake currently seen in the conformance tests
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [x] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/python-bigtable/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [x] Ensure the tests and linter pass - [x] Code coverage does not decrease (if any source code was changed) - [x] Appropriate docs were updated (if necessary) Fixes #1239
Previously, when a channel refresh occurs, the async client would use `channel.close()` with a grace parameter to allow previous channels to keep serving old requests for a time. We were seeing flakes in our tests, showing that `channel.close()` isn't reliable, and can sometimes cancel ongoing requests before the grace period ends This PR fixes this by using a fixed sleep time before calling close in the async client, like the sync client already does. This should remove the potential for cancelled requests before the grace period ends, and improve test flakiness I also updated the system test to fully capture this problematic state, instead of encountering it in a random race condition
feat: update image to us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:b8058df4c45e9a6e07f6b4d65b458d0d059241dd34c814f151c8bf6b89211209
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v0.7.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:b8058df4c45e9a6e07f6b4d65b458d0d059241dd34c814f151c8bf6b89211209 <details><summary>google-cloud-bigtable: 2.35.0</summary> ## [2.35.0](googleapis/python-bigtable@v2.34.0...v2.35.0) (2025-12-16) ### Features * add basic interceptor to client (#1206) ([6561cfac](googleapis/python-bigtable@6561cfac)) * Add encodings for STRUCT and the Timestamp type ([72dfdc44](googleapis/python-bigtable@72dfdc44)) * add PeerInfo proto in Bigtable API ([72dfdc44](googleapis/python-bigtable@72dfdc44)) * Add Type API updates needed to support structured keys in materialized views ([72dfdc44](googleapis/python-bigtable@72dfdc44)) * support mTLS certificates when available (#1249) ([ca20219c](googleapis/python-bigtable@ca20219c)) ### Bug Fixes * re-export AddToCell for consistency (#1241) ([2a5baf11](googleapis/python-bigtable@2a5baf11)) * async client uses fixed grace period (#1236) ([544db1cd](googleapis/python-bigtable@544db1cd)) * Deprecate credentials_file argument ([72dfdc44](googleapis/python-bigtable@72dfdc44)) * Add ReadRows/SampleRowKeys bindings for materialized views ([72dfdc44](googleapis/python-bigtable@72dfdc44)) * retry cancelled errors (#1235) ([e3fd5d86](googleapis/python-bigtable@e3fd5d86)) </details>
This PR revives googleapis/python-bigtable#923, which was de-priotirized to work on the sync client. This PR brings it back, working with both async and sync. It also adds a grpc interceptor, as an improved way to capture metadata across both clients --- ## Design The main architecture looks like this: <img width="651" height="631" alt="300137129-bebbb05a-20f0-45c2-9d38-e95a314edf64 drawio (1)" src="https://github.com/user-attachments/assets/c8318ac8-5f18-4027-9f64-4a40a8ab1d79" /> Most of the work is done by the ActiveOperationMetric class, which is instantiated with each rpc call, and updated through the lifecycle of the call. When the rpc is complete, it will call `on_operation_complete` and `on_attempt_complete` on the MetricsHandler, which can then log the completed data into OpenTelemetry (or theoretically, other locations if needed) Note that there are separate classes for active vs completed metrics (`ActiveOperationMetric`, `ActiveAttemptMetric`, `CompletedOperationMetric`, `CompletedAttemptMetric`). This is so that we can keep fields mutable and optional while the request is ongoing, but pass down static immutable copies once the attempt is completed and no new data is coming --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Mattie Fu <mattiefu@google.com>
Fixes #15311 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Fixes b/443045064
Automated: Migrate {target_path} from gsutil to gcloud storage
This CL is part of the on going effort to migrate from the legacy
`gsutil` tool to the new and improved `gcloud storage` command-line
interface.
`gcloud storage` is the recommended and modern tool for interacting with
Google Cloud Storage, offering better performance, unified
authentication, and a more consistent command structure with other
`gcloud` components. 🚀
### Automation Details
This change was **generated automatically** by an agent that targets
users of `gsutil`.
The transformations applied are based on the [gsutil to gcloud storage
migration guide](http://go/gsutil-gcloud-storage-migration-guide).
### ⚠️ Action Required: Please Review and Test Carefully
While we have based the automation on the migration guide, every use
case is unique.
**It is crucial that you thoroughly test these changes in environments
appropriate to your use-case before merging.**
Be aware of potential differences between `gsutil` and `gcloud storage`
that could impact your workflows.
For instance, the structure of command output may have changed,
requiring updates to any scripts that parse it. Similarly, command
behavior can differ subtly; the `gcloud storage rsync` command has a
different file deletion logic than `gsutil rsync`, which could lead to
unintended file deletions.
Our migration guides can help guide you through a list of mappings and
some notable differences between the two tools.
Standard presubmit tests are run as part of this CL's workflow. **If you
need to target an additional test workflow or require assistance with
testing, please let us know.**
Please verify that all your Cloud Storage operations continue to work as
expected to avoid any potential disruptions in production.
### Support and Collaboration
The `GCS CLI` team is here to help! If you encounter any issues, have a
complex use case that this automated change doesn't cover, or face any
other blockers, please don't hesitate to reach out.
We are happy to work with you to test and adjust these changes as
needed.
**Contact:** `gcs-cli-hyd@google.com`
We appreciate your partnership in this important migration effort!
#gsutil-migration
3.9 has been removed from the kokoro base image, so we should remove the tests from our configs 3.9 is still tested in GitHub Actions
Replaces googleapis/python-bigtable#1231 Fixes b/452032333 Adds a sample for the new AddToCell incrementation mutation --------- Co-authored-by: Kasia Strzałkowska <strzalkowska@google.com>
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [apache-beam](https://beam.apache.org) | `==2.69.0` → `==2.71.0` |  |  | | [google-cloud-bigtable](https://redirect.github.com/googleapis/python-bigtable) | `==2.34.0` → `==2.35.0` |  |  | | [google-cloud-monitoring](https://redirect.github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-monitoring) ([source](https://redirect.github.com/googleapis/google-cloud-python)) | `==2.28.0` → `==2.29.0` |  |  | --- ### Release Notes <details> <summary>googleapis/python-bigtable (google-cloud-bigtable)</summary> ### [`v2.35.0`](https://redirect.github.com/googleapis/python-bigtable/blob/HEAD/CHANGELOG.md#2350-2025-12-16) [Compare Source](https://redirect.github.com/googleapis/python-bigtable/compare/v2.34.0...v2.35.0) ##### Features - support mTLS certificates when available ([#​1249](https://redirect.github.com/googleapis/python-bigtable/issues/1249)) ([ca20219cf45305de25dfb715f69dd63bce9981b7](https://redirect.github.com/googleapis/python-bigtable/commit/ca20219cf45305de25dfb715f69dd63bce9981b7)) - add basic interceptor to client ([#​1206](https://redirect.github.com/googleapis/python-bigtable/issues/1206)) ([6561cfac605ba7c5b3f750c3bdca9108e517ba77](https://redirect.github.com/googleapis/python-bigtable/commit/6561cfac605ba7c5b3f750c3bdca9108e517ba77)) - add PeerInfo proto in Bigtable API ([72dfdc440c22db0f4c372e6f11a9f7dc83fed350](https://redirect.github.com/googleapis/python-bigtable/commit/72dfdc440c22db0f4c372e6f11a9f7dc83fed350)) - Add Type API updates needed to support structured keys in materialized views ([72dfdc440c22db0f4c372e6f11a9f7dc83fed350](https://redirect.github.com/googleapis/python-bigtable/commit/72dfdc440c22db0f4c372e6f11a9f7dc83fed350)) - Add encodings for STRUCT and the Timestamp type ([72dfdc440c22db0f4c372e6f11a9f7dc83fed350](https://redirect.github.com/googleapis/python-bigtable/commit/72dfdc440c22db0f4c372e6f11a9f7dc83fed350)) ##### Bug Fixes - async client uses fixed grace period ([#​1236](https://redirect.github.com/googleapis/python-bigtable/issues/1236)) ([544db1cd7af876298b8637f495b6c7b2a0bcf16c](https://redirect.github.com/googleapis/python-bigtable/commit/544db1cd7af876298b8637f495b6c7b2a0bcf16c)) - re-export AddToCell for consistency ([#​1241](https://redirect.github.com/googleapis/python-bigtable/issues/1241)) ([2a5baf11d30dc383a7b48d5f43b6cbb6160782e3](https://redirect.github.com/googleapis/python-bigtable/commit/2a5baf11d30dc383a7b48d5f43b6cbb6160782e3)) - retry cancelled errors ([#​1235](https://redirect.github.com/googleapis/python-bigtable/issues/1235)) ([e3fd5d8668303db4ed35e9bf6be48b46954f9d67](https://redirect.github.com/googleapis/python-bigtable/commit/e3fd5d8668303db4ed35e9bf6be48b46954f9d67)) - Add ReadRows/SampleRowKeys bindings for materialized views ([72dfdc440c22db0f4c372e6f11a9f7dc83fed350](https://redirect.github.com/googleapis/python-bigtable/commit/72dfdc440c22db0f4c372e6f11a9f7dc83fed350)) - Deprecate credentials\_file argument ([72dfdc440c22db0f4c372e6f11a9f7dc83fed350](https://redirect.github.com/googleapis/python-bigtable/commit/72dfdc440c22db0f4c372e6f11a9f7dc83fed350)) </details> <details> <summary>googleapis/google-cloud-python (google-cloud-monitoring)</summary> ### [`v2.29.0`](https://redirect.github.com/googleapis/google-cloud-python/compare/google-cloud-speech-v2.28.1...google-cloud-speech-v2.29.0) [Compare Source](https://redirect.github.com/googleapis/google-cloud-python/compare/google-cloud-monitoring-v2.28.0...google-cloud-monitoring-v2.29.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/python-bigtable). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuODUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Some samples currently use `datetime.datetime.utcnow()`, which raises a deprecation warning. Update samples to use datetime.datetime.now instead Fixes b/457135528
PR created by the Librarian CLI to generate Cloud Client Libraries code from protos. BEGIN_COMMIT BEGIN_NESTED_COMMIT feat: add TieredStorageConfig to table admin api PiperOrigin-RevId: 863493708 Library-IDs: google-cloud-bigtable Source-link: [googleapis/googleapis@a6cbf809](googleapis/googleapis@a6cbf809) END_NESTED_COMMIT END_COMMIT This pull request is generated with proto changes between [googleapis/googleapis@a17b84ad](googleapis/googleapis@a17b84a) (exclusive) and [googleapis/googleapis@a6cbf809](googleapis/googleapis@a6cbf80) (inclusive). Librarian Version: v0.7.0 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:b8058df4c45e9a6e07f6b4d65b458d0d059241dd34c814f151c8bf6b89211209
… into migration.python-bigtable.migration.2026-03-02_16-59-45.migrate
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request focuses on migrating the Bigtable code from the googleapis/python-bigtable repository to the packages/google-cloud-bigtable directory. It also introduces CrossSync, a mechanism for sharing logic between async and sync code, along with associated tooling and configurations. The PR aims to maintain git history and improve code maintainability. Highlights
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request migrates a large number of files for the google-cloud-bigtable package. The changes primarily consist of adding new files, including source code, documentation, and configuration. My review focuses on ensuring the correctness, maintainability, and security of the newly added code. I've identified a few areas for improvement, such as unsafe command-line argument handling, potential security risks with eval, and opportunities to improve code clarity and robustness.
Note: Security Review is unavailable for this PR.
I am having trouble creating individual review comments. Click here to see my feedback.
packages/google-cloud-bigtable/.cross_sync/generate.py (104)
Accessing sys.argv[1] directly is unsafe and will raise an IndexError if the script is run without command-line arguments. It's better to validate the number of arguments first and provide a helpful usage message if an argument is missing.
if len(sys.argv) < 2:
raise SystemExit(f"Usage: {sys.argv[0]} <path>")
search_root = sys.argv[1]
packages/google-cloud-bigtable/.cross_sync/README.md (40)
There appears to be a typo in the method name. It should likely be CrossSync.event_wait() instead of CrossSync,event_wait().
- `CrossSync.event_wait()`
packages/google-cloud-bigtable/.cross_sync/generate.py (26)
For better code clarity and maintainability, please add a type hint for the file_path parameter. Based on its usage, str would be appropriate.
def extract_header_comments(file_path: str) -> str:
packages/google-cloud-bigtable/.cross_sync/generate.py (32)
It is a best practice to explicitly specify the file encoding when using open(). This prevents potential issues on different platforms where the default encoding might vary. Please consider adding encoding="utf-8".
with open(file_path, "r", encoding="utf-8") as f:
packages/google-cloud-bigtable/.cross_sync/generate.py (85)
It is a best practice to explicitly specify the file encoding when using open(). This prevents potential issues on different platforms where the default encoding might vary. Please consider adding encoding="utf-8".
ast_tree = ast.parse(open(file_path, encoding="utf-8").read())
packages/google-cloud-bigtable/.cross_sync/transformers.py (34)
Modifying sys.path at runtime is generally discouraged as it can make the code harder to understand and maintain, and may lead to module import conflicts. Consider using relative imports or restructuring the project to avoid this.
packages/google-cloud-bigtable/.cross_sync/transformers.py (245)
Comparing a boolean value with == True is not idiomatic in Python. It's clearer and more conventional to use the value directly in a boolean context, or use is True for a strict identity check.
return self._is_async_check(node.left) and (isinstance(node.ops[0], ast.Eq) or isinstance(node.ops[0], ast.Is)) and len(node.comparators) == 1 and isinstance(node.comparators[0], ast.Constant) and node.comparators[0].value is True
packages/google-cloud-bigtable/.kokoro/conformance.sh (38)
The use of eval with a variable can be a security risk if the content of $TEST_ARGS is not strictly controlled, as it could allow for arbitrary command execution. While this might be safe in a controlled CI environment, it's a good practice to avoid eval whenever possible. Consider alternative ways to pass arguments that do not require evaluation.
packages/google-cloud-bigtable/.kokoro/populate-secrets.sh (28)
The for key in $(...) construct is not robust against values in ${SECRET_MANAGER_KEYS} that contain whitespace or other special shell characters. This could lead to unexpected behavior or errors. A more robust approach for iterating over comma-separated values should be used, for example, by using read with a while loop or by setting IFS.
See #10992.
This PR should be merged with a merge-commit, not a squash-commit, in order to preserve the git history.