Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
911 commits
Select commit Hold shift + click to select a range
164d549
chore(deps): update dependency google-cloud-monitoring to v2.11.1 (#635)
renovate-bot Aug 17, 2022
8b186f2
chore: move row value classes out of row_data (#633)
igorbernstein2 Aug 17, 2022
4a203de
perf: optimize row merging (#628)
igorbernstein2 Aug 17, 2022
97df5b7
chore(main): release 2.11.3 (#638)
release-please[bot] Aug 17, 2022
7e717a4
chore(deps): update dependency google-cloud-bigtable to v2.11.3 (#640)
renovate-bot Aug 19, 2022
1d04a18
chore(deps): update dependency apache-beam to v2.41.0 (#652)
renovate-bot Aug 24, 2022
486b772
chore: remove 'pip install' statements from python_library templates …
gcf-owl-bot[bot] Aug 26, 2022
7f1706c
ci(python): fix path to requirements.txt in release script (#659)
gcf-owl-bot[bot] Sep 6, 2022
7b74c62
chore(deps): update all dependencies (#666)
renovate-bot Sep 7, 2022
1037500
chore(python): exclude setup.py in renovate config (#665)
gcf-owl-bot[bot] Sep 8, 2022
c0c9260
chore: use gapic-generator-python 1.3.1 (#668)
gcf-owl-bot[bot] Sep 8, 2022
6f7386f
chore: use gapic generator python 1.4.1 (#669)
gcf-owl-bot[bot] Sep 13, 2022
4e1efad
chore: detect samples tests in nested directories (#671)
gcf-owl-bot[bot] Sep 13, 2022
396f8b0
feat: Publish CBT deletion_protection field in Table, UpdateTableRequ…
gcf-owl-bot[bot] Sep 13, 2022
f010ea6
docs: Remove unnecessary comment (#674)
gcf-owl-bot[bot] Sep 19, 2022
fe544d8
chore(main): release 2.12.0 (#673)
release-please[bot] Sep 21, 2022
d39f28f
feat: publish the RequestStats proto (#676)
gcf-owl-bot[bot] Sep 26, 2022
83fb2dc
fix(deps): require protobuf >= 3.20.2 (#679)
gcf-owl-bot[bot] Sep 29, 2022
cad6971
chore(main): release 2.13.0 (#678)
release-please[bot] Oct 4, 2022
b198c96
chore(deps): update all dependencies (#675)
renovate-bot Oct 4, 2022
1dc9309
chore(deps): update dependency backoff to v2.2.1 (#681)
renovate-bot Oct 6, 2022
5c2c653
fix(deps): allow protobuf 3.19.5 (#682)
parthea Oct 10, 2022
291e3ed
chore(main): release 2.13.1 (#684)
release-please[bot] Oct 10, 2022
d17219b
chore(deps): update all dependencies (#685)
renovate-bot Oct 18, 2022
afe758b
fix: respect deadlines for column family operations (#687)
igorbernstein2 Oct 20, 2022
686df9b
chore(main): release 2.13.2 (#688)
release-please[bot] Oct 20, 2022
2fb05fc
chore(deps): update dependency google-cloud-bigtable to v2.13.2 (#689)
renovate-bot Oct 25, 2022
352d523
chore(deps): update dependency pytest to v7.2.0 (#690)
renovate-bot Oct 26, 2022
164c37e
chore: Update gapic-generator-python to v1.6.1 (#683)
gcf-owl-bot[bot] Nov 18, 2022
959e7d6
chore(deps): update all dependencies (#692)
renovate-bot Nov 18, 2022
199f1ce
chore(python): update release script dependencies (#694)
gcf-owl-bot[bot] Nov 18, 2022
97d956d
chore(python): drop flake8-import-order in samples noxfile (#704)
gcf-owl-bot[bot] Nov 25, 2022
f47f812
chore: Remove the dot from release please config (#703)
Mariatta Nov 25, 2022
c458571
chore(main): release 2.14.0 (#706)
release-please[bot] Dec 1, 2022
793528a
chore(deps): update dependency google-cloud-bigtable to v2.14.0 (#707)
renovate-bot Dec 2, 2022
dc12608
fix(deps): Require google-api-core >=1.34.0, >=2.11.0 (#708)
gcf-owl-bot[bot] Dec 6, 2022
36e35a7
chore(main): release 2.14.1 (#709)
release-please[bot] Dec 7, 2022
06f9488
chore(deps): update dependency google-cloud-bigtable to v2.14.1 (#710)
renovate-bot Dec 8, 2022
94f979c
build(deps): bump certifi from 2022.9.24 to 2022.12.7 in /synthtool/g…
gcf-owl-bot[bot] Dec 8, 2022
b081e73
chore(deps): update all dependencies (#713)
renovate-bot Jan 4, 2023
1ef2c1c
chore(python): add support for python 3.11 [autoapprove] (#714)
gcf-owl-bot[bot] Jan 6, 2023
32397af
chore(deps): update dependency google-cloud-monitoring to v2.13.0 (#716)
renovate-bot Jan 9, 2023
deccdc3
chore(deps): update dependency mock to v5.0.1 (#717)
renovate-bot Jan 9, 2023
8647df6
feat: Add support for python 3.11 (#718)
gcf-owl-bot[bot] Jan 10, 2023
a51db74
chore(main): release 2.15.0 (#719)
release-please[bot] Jan 10, 2023
5fb694d
chore(deps): update dependency google-cloud-monitoring to v2.14.0 (#720)
renovate-bot Jan 10, 2023
bc66839
chore(deps): update dependency google-cloud-bigtable to v2.15.0 (#721)
renovate-bot Jan 10, 2023
13293bb
chore(deps): update dependency apache-beam to v2.44.0 (#723)
renovate-bot Jan 14, 2023
b394b2b
chore(deps): update dependency pytest to v7.2.1 (#724)
renovate-bot Jan 14, 2023
7792628
docs: Add documentation for enums (#725)
gcf-owl-bot[bot] Jan 20, 2023
2d83e6f
chore(deps): update dependency google-cloud-monitoring to v2.14.1 (#727)
renovate-bot Jan 24, 2023
2b2caf6
chore: Update gapic-generator-python to v1.8.2 (#728)
gcf-owl-bot[bot] Jan 25, 2023
fb58acc
chore: fix prerelease_deps nox session [autoapprove] (#729)
gcf-owl-bot[bot] Jan 30, 2023
e01143a
chore(deps): update google-github-actions/setup-gcloud action to v1.1…
renovate-bot Feb 3, 2023
42ea926
build(deps): bump cryptography from 38.0.3 to 39.0.1 in /synthtool/gc…
gcf-owl-bot[bot] Feb 8, 2023
e0f0c6f
fix: Add service_yaml_parameters to py_gapic_library BUILD.bazel targ…
gcf-owl-bot[bot] Feb 17, 2023
af8dc8c
chore(deps): update dependency apache-beam to v2.45.0 (#735)
renovate-bot Feb 22, 2023
612a7bb
chore: Update gapic-generator-python to v1.8.5 (#737)
gcf-owl-bot[bot] Feb 27, 2023
2b17579
chore(python): upgrade gcp-releasetool in .kokoro [autoapprove] (#738)
gcf-owl-bot[bot] Feb 27, 2023
5e3f553
chore(main): release 2.16.0 (#726)
release-please[bot] Feb 28, 2023
398dd4f
feat: add new_partitions field for CloseStream for Cloud Bigtable Cha…
gcf-owl-bot[bot] Mar 1, 2023
3223561
chore(deps): update dependency google-cloud-bigtable to v2.16.0 (#739)
renovate-bot Mar 1, 2023
fc42418
chore(main): release 2.17.0 (#741)
release-please[bot] Mar 1, 2023
163e7ec
chore(deps): update dependency google-cloud-bigtable to v2.17.0 (#742)
renovate-bot Mar 1, 2023
359d9ea
chore(deps): update dependency pytest to v7.2.2 (#743)
renovate-bot Mar 4, 2023
8645714
chore: update Go import paths to match open source (#749)
gcf-owl-bot[bot] Mar 14, 2023
e3935d6
chore(deps): Update nox in .kokoro/requirements.in [autoapprove] (#750)
gcf-owl-bot[bot] Mar 16, 2023
5e35b12
docs: Fix formatting of request arg in docstring (#756)
gcf-owl-bot[bot] Mar 23, 2023
459e852
fix: Pass the "retry" when calling read_rows. (#759)
Mariatta Mar 30, 2023
f1342ee
chore(samples): Fixed a typo in the readme (#760)
shweta345 Apr 5, 2023
cf243e9
chore(deps): update all dependencies (#746)
renovate-bot Apr 6, 2023
6184eac
docs: fix delete from column family example (#764)
billyjacobson Apr 14, 2023
c929cec
chore(deps): update all dependencies (#763)
renovate-bot Apr 18, 2023
0e02a2d
feat: publish RateLimitInfo and FeatureFlag protos (#768)
gcf-owl-bot[bot] May 4, 2023
fd62b63
Feat: Threaded MutationsBatcher (#722)
Mariatta May 10, 2023
fee4538
chore(main): release 2.18.0 (#757)
release-please[bot] May 10, 2023
cf3ee39
fix: Revert "Feat: Threaded MutationsBatcher" (#773)
mutianf May 11, 2023
7ccb2d3
Revert "fix: Revert "Feat: Threaded MutationsBatcher" (#773)" (#775)
mutianf May 11, 2023
f2c97b8
chore(main): release 2.18.1 (#774)
release-please[bot] May 16, 2023
530f8ec
feat: add ChangeStreamConfig to CreateTable and UpdateTable (#786)
gcf-owl-bot[bot] May 25, 2023
dc7ce50
build(deps): bump requests from 2.28.1 to 2.31.0 in /synthtool/gcp/te…
gcf-owl-bot[bot] May 25, 2023
d9c52b7
docs(samples): add region tags (#788)
Sita04 May 25, 2023
50d2ab3
build(deps): bump cryptography from 39.0.1 to 41.0.0 in /synthtool/gc…
gcf-owl-bot[bot] Jun 3, 2023
bee44c7
fix: add a callback function on flush_rows (#796)
mutianf Jun 8, 2023
31684d6
chore(main): release 2.19.0 (#789)
release-please[bot] Jun 8, 2023
f8da71b
chore: remove pinned Sphinx version [autoapprove] (#818)
gcf-owl-bot[bot] Jun 28, 2023
7ba0a83
chore: store artifacts in placer (#822)
gcf-owl-bot[bot] Jun 29, 2023
6e83b06
feat: Increase the maximum retention period for a Cloud Bigtable back…
gcf-owl-bot[bot] Jul 4, 2023
a288db4
fix: Add async context manager return types (#828)
gcf-owl-bot[bot] Jul 4, 2023
8a08c63
chore: Update gapic-generator-python to v1.11.2 (#829)
gcf-owl-bot[bot] Jul 10, 2023
67feb4e
chore: Update gapic-generator-python to v1.11.3 (#830)
gcf-owl-bot[bot] Jul 10, 2023
b83943d
docs: fix formatting for reversed order field example (#831)
gcf-owl-bot[bot] Jul 13, 2023
519c006
chore: Update gapic-generator-python to v1.11.4 (#832)
gcf-owl-bot[bot] Jul 14, 2023
5647fe1
build(deps): [autoapprove] bump cryptography from 41.0.0 to 41.0.2 (#…
gcf-owl-bot[bot] Jul 17, 2023
ee58bde
chore(main): release 2.20.0 (#827)
release-please[bot] Jul 19, 2023
abd7beb
build(deps): [autoapprove] bump pygments from 2.13.0 to 2.15.0 (#841)
gcf-owl-bot[bot] Jul 21, 2023
edd6dcb
feat: add last_scanned_row_responses to FeatureFlags (#845)
gcf-owl-bot[bot] Jul 26, 2023
6932f95
build(deps): [autoapprove] bump certifi from 2022.12.7 to 2023.7.22 (…
gcf-owl-bot[bot] Jul 27, 2023
22f0577
chore: [autoapprove] Pin flake8 version (#847)
gcf-owl-bot[bot] Aug 1, 2023
00e2be4
docs: Minor formatting (#851)
gcf-owl-bot[bot] Aug 2, 2023
a64ddbc
build: [autoapprove] bump cryptography from 41.0.2 to 41.0.3 (#850)
gcf-owl-bot[bot] Aug 2, 2023
47e78f8
chore(main): release 2.21.0 (#846)
release-please[bot] Aug 9, 2023
be510f1
feat: publish CopyBackup protos to external customers (#855)
gcf-owl-bot[bot] Aug 23, 2023
242c324
fix: require google-cloud-core 1.4.4 (#866)
parthea Sep 20, 2023
e448fd7
fix: add feature flag for improved mutate rows throttling (#862)
gcf-owl-bot[bot] Sep 20, 2023
54e266a
feat: Add support for Cloud Bigtable Request Priorities in App Profil…
gcf-owl-bot[bot] Oct 7, 2023
ef951ba
chore: [autoapprove] bump cryptography from 41.0.3 to 41.0.4 (#868)
gcf-owl-bot[bot] Oct 7, 2023
44ec498
chore: [autoapprove] Update `black` and `isort` to latest versions (#…
gcf-owl-bot[bot] Oct 9, 2023
5754b60
chore: Update gapic-generator-python to v1.11.9 (#874)
gcf-owl-bot[bot] Oct 28, 2023
340f563
chore: rename rst files to avoid conflict with service names (#877)
gcf-owl-bot[bot] Oct 30, 2023
1cb84dd
chore: update docfx minimum Python version (#884)
gcf-owl-bot[bot] Nov 3, 2023
e06fca1
chore: bump urllib3 from 1.26.12 to 1.26.18 (#885)
gcf-owl-bot[bot] Nov 15, 2023
363ff93
chore: Update gapic-generator-python to v1.12.0 (#891)
gcf-owl-bot[bot] Nov 29, 2023
1b7c136
feat: Introduce compatibility with native namespace packages (#893)
parthea Dec 2, 2023
b77b453
chore(deps): update all dependencies (#771)
renovate-bot Dec 12, 2023
688dd1f
feat: Add support for Python 3.12 (#888)
gcf-owl-bot[bot] Dec 12, 2023
2fd8559
fix: mutations batcher race condition (#896)
daniel-sanche Dec 12, 2023
d4da10a
fix: add lock to flow control (#899)
daniel-sanche Dec 12, 2023
893d259
chore(main): release 2.22.0 (#861)
release-please[bot] Dec 12, 2023
315056f
build: update actions/checkout and actions/setup-python (#895)
gcf-owl-bot[bot] Dec 14, 2023
27ba8c1
chore: add test for partial cell data (#908)
daniel-sanche Dec 15, 2023
08806b7
chore(deps): update all dependencies (#898)
renovate-bot Dec 15, 2023
496822e
chore: remove obsolete lines in .coveragerc (#902)
parthea Dec 15, 2023
ba789e8
chore(deps): update all dependencies (#910)
renovate-bot Dec 21, 2023
e07eacd
build: update actions/upload-artifact and actions/download-artifact (…
gcf-owl-bot[bot] Jan 8, 2024
0522e8c
feat: Adding feature flags for routing cookie and retry info (#905)
gcf-owl-bot[bot] Jan 11, 2024
56f2128
chore(deps): update all dependencies (#911)
renovate-bot Jan 18, 2024
eccf448
build(python): fix `docs` and `docfx` builds (#917)
gcf-owl-bot[bot] Jan 18, 2024
89cd874
chore: Update .repo-metadata.json and CODEOWNERS (#922)
daniel-sanche Jan 24, 2024
0a7f304
chore: create flakybot.yaml to change default issue priority (#928)
cindy-peng Jan 29, 2024
07c1344
chore: add experimental async data client (#920)
daniel-sanche Feb 5, 2024
88fe624
build(deps): bump cryptography from 41.0.6 to 42.0.0 in /synthtool/gc…
gcf-owl-bot[bot] Feb 6, 2024
d72ea4c
chore(deps): update all dependencies (#921)
renovate-bot Feb 6, 2024
54370f5
chore(docs): add preview docstrings to v3 client (#926)
daniel-sanche Feb 7, 2024
1138a6f
fix: fix `ValueError` in `test__validate_universe_domain` (#929)
gcf-owl-bot[bot] Feb 7, 2024
ecb0a5e
chore(main): release 2.23.0 (#916)
release-please[bot] Feb 7, 2024
fce1011
build(deps): bump cryptography from 42.0.2 to 42.0.4 in .kokoro (#939)
gcf-owl-bot[bot] Mar 5, 2024
99bef6e
chore(docs): add basic samples for async data client (#940)
daniel-sanche Mar 18, 2024
7a1477d
feat: added generated docs for async client (#947)
daniel-sanche Mar 20, 2024
eb63503
chore(python): update dependencies in /.kokoro (#943)
gcf-owl-bot[bot] Mar 26, 2024
2ca3b78
chore(docs): remove preview warning for async data client (#945)
daniel-sanche Mar 28, 2024
424398e
fix: use insecure grpc channel with emulator (#946)
daniel-sanche Apr 11, 2024
5965090
chore(python): bump idna from 3.4 to 3.7 in .kokoro (#954)
gcf-owl-bot[bot] Apr 12, 2024
ccd8781
chore: fix prerelease_deps (#955)
daniel-sanche Apr 15, 2024
d741408
chore(main): release 2.23.1 (#948)
release-please[bot] Apr 15, 2024
d31e366
chore: Update gapic-generator-python to v1.17.1 (#936)
gcf-owl-bot[bot] May 10, 2024
2ae115e
doc: add samples for filtering using async apis (#961)
igorbernstein2 May 29, 2024
703e597
chore(docs): improve docstrings in async classes (#964)
daniel-sanche May 29, 2024
4c42301
chore(docs): improve write_batch async sample (#966)
daniel-sanche May 29, 2024
b565d5f
chore(docs): improve devsite structure (#962)
daniel-sanche May 29, 2024
2e1f7ff
fix(backup): backup name regex (#970)
AmitMatsil May 29, 2024
e6f7f5d
feat: Add String type with Utf8Raw encoding to Bigtable API (#968)
gcf-owl-bot[bot] May 30, 2024
dab1ae6
chore(docs): add missing quickstart samples for asyncio (#974)
igorbernstein2 Jun 4, 2024
e5d7794
chore(tests): fix async filter sample tests (#976)
daniel-sanche Jun 4, 2024
31d96c9
chore(docs): add missing samples for async deletes (#973)
igorbernstein2 Jun 4, 2024
da75e46
chore(docs): update async data content in README (#975)
daniel-sanche Jun 5, 2024
48605dd
fix: improve rowset revision (#979)
daniel-sanche Jun 7, 2024
3706405
chore(docs): improve async docstrings (#978)
daniel-sanche Jun 10, 2024
9c359f8
feat: improve async sharding (#977)
daniel-sanche Jun 11, 2024
2a079c2
chore(main): release 2.24.0 (#971)
release-please[bot] Jun 11, 2024
a5900cf
chore(deps): bump zipp from 3.17.0 to 3.19.1 in /.kokoro (#989)
dependabot[bot] Jul 11, 2024
e08c202
chore: update templated files (#986)
parthea Jul 17, 2024
2bab5ae
fix: Allow protobuf 5.x (#972)
gcf-owl-bot[bot] Jul 18, 2024
f65da4e
chore(main): release 2.25.0 (#1001)
release-please[bot] Jul 22, 2024
06ec7a9
fix: use single routing metadata header (#1005)
daniel-sanche Jul 30, 2024
bc707b6
chore: Update gapic-generator-python to v1.18.4 (#1002)
gcf-owl-bot[bot] Jul 30, 2024
d5b39fc
chore: revert sync client customizations (#1009)
daniel-sanche Aug 5, 2024
88f070e
feat: async execute query client (#1011)
kboroszko Aug 8, 2024
026e969
docs: add clarification around SQL timestamps (#1012)
jackdingilian Aug 8, 2024
5cf2241
chore(python): fix docs build (#1008)
gcf-owl-bot[bot] Aug 8, 2024
cbe581f
feat: add fields and the BackupType proto for Hot Backups (#1010)
gcf-owl-bot[bot] Aug 8, 2024
75509ee
Revert "chore(python): fix docs build (#1008)" (#1013)
daniel-sanche Aug 9, 2024
3c22951
chore: Update gapic-generator-python to v1.18.5 (#1015)
gcf-owl-bot[bot] Aug 9, 2024
57416c3
chore(docs): add execute query docs pages (#1014)
daniel-sanche Aug 9, 2024
9362b10
chore(docs): add async note to docs (#984)
daniel-sanche Aug 12, 2024
4d4747e
chore(main): release 2.26.0 (#1006)
release-please[bot] Aug 12, 2024
193e601
chore: removes docs-presubmit.cfg template (#1016)
gcf-owl-bot[bot] Sep 17, 2024
5b71ff1
feat: Add support for Cloud Bigtable Node Scaling Factor for CBT Clus…
gcf-owl-bot[bot] Sep 25, 2024
d4d990d
build(python): release script update (#1024)
gcf-owl-bot[bot] Sep 25, 2024
c70eec7
chore(docs): include imports in snippets (#1027)
daniel-sanche Oct 25, 2024
1ce05ac
chore(deps): update all dependencies (#934)
renovate-bot Oct 28, 2024
91a27df
fix: registering duplicate instance (#1033)
daniel-sanche Nov 4, 2024
448d850
chore: Update gapic-generator-python to v1.20.2 (#1026)
gcf-owl-bot[bot] Nov 7, 2024
76b03e2
feat: surface `retry` param to `Table.read_row` api (#982)
ayubun Nov 7, 2024
2ea9b53
chore: remove custom routing metadata (#1036)
daniel-sanche Nov 8, 2024
f6a35be
chore: remove pooled transport (#1035)
daniel-sanche Nov 8, 2024
83abdd5
chore: add cross_sync (#999)
daniel-sanche Nov 8, 2024
4cb2cf5
chore(tests): clean up sample test tables (#1030)
daniel-sanche Nov 11, 2024
7e391c6
chore(python): enable checks for python 3.13 (#1039)
gcf-owl-bot[bot] Nov 12, 2024
730abc4
chore(main): release 2.27.0 (#1025)
release-please[bot] Nov 13, 2024
e6a1603
chore(python): update dependencies in .kokoro/docker/docs (#1040)
gcf-owl-bot[bot] Nov 13, 2024
8a5317f
build: Use python 3.10 for docs session (#1042)
daniel-sanche Nov 14, 2024
f88a683
chore(build): use multiScm for Kokoro release builds (#1032)
gcf-owl-bot[bot] Nov 14, 2024
6cafd03
chore: add cross_sync annotations (#1000)
daniel-sanche Nov 20, 2024
fe23e8a
chore: use more verbose paths in hello snippets (#1045)
daniel-sanche Dec 6, 2024
5e861cc
feat: add generated sync client (#1017)
daniel-sanche Dec 12, 2024
3635195
chore(tests): sync client verification tests (#1046)
daniel-sanche Dec 18, 2024
22652f0
chore(python): update dependencies in .kokoro/docker/docs (#1052)
gcf-owl-bot[bot] Dec 19, 2024
f99afe2
chore(python): Update the python version in docs presubmit to use 3.1…
gcf-owl-bot[bot] Jan 8, 2025
3062b12
chore(main): release 2.28.0 (#1049)
release-please[bot] Jan 8, 2025
de326c0
chore(python): exclude .github/workflows/unittest.yml in renovate con…
gcf-owl-bot[bot] Jan 14, 2025
baca72f
fix: allow empty headers for btql routing (#1072)
daniel-sanche Jan 17, 2025
4003dbe
chore(main): release 2.28.1 (#1074)
release-please[bot] Jan 17, 2025
8187307
chore: update protoplus for python 3.13 (#1051)
daniel-sanche Jan 17, 2025
98ad8d7
feat: Add support for array and float32 SQL query params (#1078)
jackdingilian Feb 4, 2025
c28965d
fix: grpc channel refresh (#1087)
daniel-sanche Feb 26, 2025
8463f5f
chore(main): release 2.29.0 (#1079)
release-please[bot] Feb 26, 2025
d56360c
chore(python): conditionally load credentials in .kokoro/build.sh (#1…
gcf-owl-bot[bot] Mar 3, 2025
b45592e
chore: remove unused files (#1091)
parthea Mar 10, 2025
35e4afb
chore: update gapic (#1048)
gcf-owl-bot[bot] Mar 10, 2025
97e5f24
fix: Allow protobuf 6.x (#1092)
parthea Mar 17, 2025
4cc0fc7
feat: Update ExecuteQuery to use Prepare (#1100)
jackdingilian Mar 18, 2025
acb8319
fix: remove setup.cfg configuration for creating universal wheels (#1…
parthea Mar 18, 2025
83f7879
chore(main): release 2.30.0 (#1098)
release-please[bot] Mar 18, 2025
49663c1
chore: Update gapic-generator-python to 1.23.6 (#1101)
gcf-owl-bot[bot] Mar 19, 2025
b9eb834
fix: populate SQL app_profile_id header even when it is unset (#1109)
jackdingilian Apr 17, 2025
b054887
chore(main): release 2.30.1 (#1110)
release-please[bot] Apr 17, 2025
6b479de
feat: add deletion_protection support for LVs (#1108)
gcf-owl-bot[bot] May 2, 2025
480b96e
chore(docs): update `RowSet` to no longer reference deprecated `Table…
ayubun May 6, 2025
153ade1
fix: re-add py-typed file for bigtable package (#1085)
axyjo May 15, 2025
4419c2b
chore: add owlbot rule to preserve app_profile_id header (#1115)
daniel-sanche May 16, 2025
800063f
feat: throw better error on invalid metadata response (#1107)
jackdingilian May 19, 2025
4a58d73
chore: Update gapic-generator-python to 1.25.0 (#1123)
gcf-owl-bot[bot] May 21, 2025
7bebfd6
chore: update renovate.json (#1127)
daniel-sanche May 21, 2025
36c3e84
feat: support authorized views (#1034)
daniel-sanche May 22, 2025
62c7865
chore(deps): update all dependencies (#1031)
renovate-bot May 22, 2025
986c87a
chore(main): release 2.31.0 (#1121)
release-please[bot] May 22, 2025
91a5572
feat: Implement SQL support in test proxy (#1106)
jackdingilian Jun 12, 2025
067ebbf
test: Use latest conformance test version and exclude unsupported fea…
jackdingilian Jul 18, 2025
5f6ae51
feat: add Idempotency to Cloud Bigtable MutateRowsRequest API (#1143)
gcf-owl-bot[bot] Jul 22, 2025
9d77a13
feat: add support for AddToCell in Data Client (#1147)
axyjo Jul 28, 2025
761dee2
feat: Modernized Bigtable Admin Client featuring selective GAPIC gene…
gkevinzheng Aug 1, 2025
a44605f
chore(main): release 2.32.0 (#1152)
release-please[bot] Aug 6, 2025
90111e7
chore: update gapic files (#1171)
gcf-owl-bot[bot] Aug 7, 2025
bfb903e
feat: expose universe_domain for tpc (#1150)
daniel-sanche Aug 7, 2025
b672c58
test: Unskipped wait_for_consistency system tests in emulator (#1186)
gkevinzheng Aug 11, 2025
d51088c
fix: refactor channel refresh (#1174)
daniel-sanche Aug 26, 2025
6f9504b
feat: Add support for Proto and Enum types (#1202)
trollyxia Sep 12, 2025
199ab28
chore(tests): prefer bytes for mutation fields (#1207)
daniel-sanche Sep 26, 2025
94b47ed
fix: Fix instance registration cleanup on early iterator termination …
jackdingilian Oct 6, 2025
0b06500
chore(main): release 2.33.0 (#1185)
release-please[bot] Oct 7, 2025
4649eae
feat: Add support for Python 3.14 (#1217)
daniel-sanche Oct 16, 2025
6777666
chore(main): release 2.34.0 (#1219)
release-please[bot] Oct 22, 2025
bd52849
feat: add PeerInfo proto in Bigtable API (#1190)
gcf-owl-bot[bot] Nov 12, 2025
215f6ee
feat: add basic interceptor to client (#1206)
daniel-sanche Nov 20, 2025
7fac0c3
chore(librarian): onboard to librarian (#1232)
parthea Nov 20, 2025
391f563
chore: remove releases.md (#1237)
parthea Nov 24, 2025
d2a01d3
Merge remote-tracking branch 'remote.googleapis/python-bigtable/main'…
parthea Nov 25, 2025
d6cd120
Trigger owlbot post-processor
parthea Nov 25, 2025
34d45ee
build: google-cloud-bigtable migration: adjust owlbot-related files
parthea Nov 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 35 additions & 0 deletions packages/google-cloud-bigtable/.coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
#
# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Generated by synthtool. DO NOT EDIT!
[run]
branch = True
omit =
google/cloud/bigtable_admin/__init__.py
google/cloud/bigtable_admin/gapic_version.py

[report]
fail_under = 99
show_missing = True
exclude_lines =
# Re-enable the standard pragma
pragma: NO COVER
# Ignore debug-only repr
def __repr__
# Ignore abstract methods
raise NotImplementedError
omit =
*/site-packages/*.py
75 changes: 75 additions & 0 deletions packages/google-cloud-bigtable/.cross_sync/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# CrossSync

CrossSync provides a simple way to share logic between async and sync code.
It is made up of a small library that provides:
1. a set of shims that provide a shared sync/async API surface
2. annotations that are used to guide generation of a sync version from an async class

Using CrossSync, the async code is treated as the source of truth, and sync code is generated from it.

## Usage

### CrossSync Shims

Many Asyncio components have direct, 1:1 threaded counterparts for use in non-asyncio code. CrossSync
provides a compatibility layer that works with both

| CrossSync | Asyncio Version | Sync Version |
| --- | --- | --- |
| CrossSync.Queue | asyncio.Queue | queue.Queue |
| CrossSync.Condition | asyncio.Condition | threading.Condition |
| CrossSync.Future | asyncio.Future | Concurrent.futures.Future |
| CrossSync.Task | asyncio.Task | Concurrent.futures.Future |
| CrossSync.Event | asyncio.Event | threading.Event |
| CrossSync.Semaphore | asyncio.Semaphore | threading.Semaphore |
| CrossSync.Awaitable | typing.Awaitable | typing.Union (no-op type) |
| CrossSync.Iterable | typing.AsyncIterable | typing.Iterable |
| CrossSync.Iterator | typing.AsyncIterator | typing.Iterator |
| CrossSync.Generator | typing.AsyncGenerator | typing.Generator |
| CrossSync.Retry | google.api_core.retry.AsyncRetry | google.api_core.retry.Retry |
| CrossSync.StopIteration | StopAsyncIteration | StopIteration |
| CrossSync.Mock | unittest.mock.AsyncMock | unittest.mock.Mock |

Custom aliases can be added using `CrossSync.add_mapping(class, name)`

Additionally, CrossSync provides method implementations that work equivalently in async and sync code:
- `CrossSync.sleep()`
- `CrossSync.gather_partials()`
- `CrossSync.wait()`
- `CrossSync.condition_wait()`
- `CrossSync,event_wait()`
- `CrossSync.create_task()`
- `CrossSync.retry_target()`
- `CrossSync.retry_target_stream()`

### Annotations

CrossSync provides a set of annotations to mark up async classes, to guide the generation of sync code.

- `@CrossSync.convert_sync`
- marks classes for conversion. Unmarked classes will be copied as-is
- if add_mapping is included, the async and sync classes can be accessed using a shared CrossSync.X alias
- `@CrossSync.convert`
- marks async functions for conversion. Unmarked methods will be copied as-is
- `@CrossSync.drop`
- marks functions or classes that should not be included in sync output
- `@CrossSync.pytest`
- marks test functions. Test functions automatically have all async keywords stripped (i.e., rm_aio is unneeded)
- `CrossSync.add_mapping`
- manually registers a new CrossSync.X alias, for custom types
- `CrossSync.rm_aio`
- Marks regions of the code that include asyncio keywords that should be stripped during generation

### Code Generation

Generation can be initiated using `nox -s generate_sync`
from the root of the project. This will find all classes with the `__CROSS_SYNC_OUTPUT__ = "path/to/output"`
annotation, and generate a sync version of classes marked with `@CrossSync.convert_sync` at the output path.

There is a unit test at `tests/unit/data/test_sync_up_to_date.py` that verifies that the generated code is up to date

## Architecture

CrossSync is made up of two parts:
- the runtime shims and annotations live in `/google/cloud/bigtable/_cross_sync`
- the code generation logic lives in `/.cross_sync/` in the repo root
107 changes: 107 additions & 0 deletions packages/google-cloud-bigtable/.cross_sync/generate.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import annotations
from typing import Sequence
import ast
"""
Entrypoint for initiating an async -> sync conversion using CrossSync

Finds all python files rooted in a given directory, and uses
transformers.CrossSyncFileProcessor to handle any files marked with
__CROSS_SYNC_OUTPUT__
"""


def extract_header_comments(file_path) -> str:
"""
Extract the file header. Header is defined as the top-level
comments before any code or imports
"""
header = []
with open(file_path, "r") as f:
for line in f:
if line.startswith("#") or line.strip() == "":
header.append(line)
else:
break
header.append("\n# This file is automatically generated by CrossSync. Do not edit manually.\n\n")
return "".join(header)


class CrossSyncOutputFile:

def __init__(self, output_path: str, ast_tree, header: str | None = None):
self.output_path = output_path
self.tree = ast_tree
self.header = header or ""

def render(self, with_formatter=True, save_to_disk: bool = True) -> str:
"""
Render the file to a string, and optionally save to disk

Args:
with_formatter: whether to run the output through black before returning
save_to_disk: whether to write the output to the file path
"""
full_str = self.header + ast.unparse(self.tree)
if with_formatter:
import black # type: ignore
import autoflake # type: ignore

full_str = black.format_str(
autoflake.fix_code(full_str, remove_all_unused_imports=True),
mode=black.FileMode(),
)
if save_to_disk:
import os
os.makedirs(os.path.dirname(self.output_path), exist_ok=True)
with open(self.output_path, "w") as f:
f.write(full_str)
return full_str


def convert_files_in_dir(directory: str) -> set[CrossSyncOutputFile]:
import glob
from transformers import CrossSyncFileProcessor

# find all python files in the directory
files = glob.glob(directory + "/**/*.py", recursive=True)
# keep track of the output files pointed to by the annotated classes
artifacts: set[CrossSyncOutputFile] = set()
file_transformer = CrossSyncFileProcessor()
# run each file through ast transformation to find all annotated classes
for file_path in files:
ast_tree = ast.parse(open(file_path).read())
output_path = file_transformer.get_output_path(ast_tree)
if output_path is not None:
# contains __CROSS_SYNC_OUTPUT__ annotation
converted_tree = file_transformer.visit(ast_tree)
header = extract_header_comments(file_path)
artifacts.add(CrossSyncOutputFile(output_path, converted_tree, header))
# return set of output artifacts
return artifacts


def save_artifacts(artifacts: Sequence[CrossSyncOutputFile]):
for a in artifacts:
a.render(save_to_disk=True)


if __name__ == "__main__":
import sys

search_root = sys.argv[1]
outputs = convert_files_in_dir(search_root)
print(f"Generated {len(outputs)} artifacts: {[a.output_path for a in outputs]}")
save_artifacts(outputs)
Loading
Loading