Skip to content

feat(bigquery-storage): split GAPIC from the bigquery-storage handwritten package#8930

Draft
quirogas wants to merge 6 commits into
googleapis:mainfrom
quirogas:feat/disentangle-bigquery-storage-handwritten
Draft

feat(bigquery-storage): split GAPIC from the bigquery-storage handwritten package#8930
quirogas wants to merge 6 commits into
googleapis:mainfrom
quirogas:feat/disentangle-bigquery-storage-handwritten

Conversation

@quirogas

@quirogas quirogas commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Decouple the handwritten BigQuery Storage wrapper from the auto-generated GAPIC client layer by importing a standalone version of the GAPIC library. Standalone -api packages are now generated and maintained independently.

  • Removed embedded GAPIC generated code (src/v1/, src/v1beta2/) and OwlBot files (owlbot.py, .OwlBot.yaml).
  • Added dependency on standalone @google-cloud/bigquery-storage-api (^0.2.0).
  • Re-exported BigQueryReadClient, BigQueryWriteClient, adapt, reader, and protos from @google-cloud/bigquery-storage-api.
  • Maintained runtime protobuf descriptor extensions required by the adapt and reader sub-modules.

Internal: b/531788771

@quirogas quirogas self-assigned this Jul 21, 2026
@product-auto-label product-auto-label Bot added the api: bigquerystorage Issues related to the BigQuery Storage API. label Jul 21, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes locally generated client files, configurations, and tests for various API versions, migrating the handwritten wrapper to use the external @google-cloud/bigquery-storage-api package instead. Feedback on the changes points out that importing the entire package namespace as v1 is incorrect and suggests importing v1 as a named export alongside the other clients to avoid namespace nesting issues.

Comment on lines +1 to +2
import * as v1 from '@google-cloud/bigquery-storage-api';
import {BigQueryReadClient, BigQueryWriteClient} from '@google-cloud/bigquery-storage-api';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Importing the entire @google-cloud/bigquery-storage-api package as v1 via import * as v1 is incorrect because it binds the entire package namespace to v1. This results in the exported v1 containing a nested v1 property (i.e., v1.v1 would be the actual v1 namespace), and exports the entire API package under the name v1 instead of just the v1 namespace. Instead, import v1 as a named export from @google-cloud/bigquery-storage-api along with the clients in a single import statement.

Suggested change
import * as v1 from '@google-cloud/bigquery-storage-api';
import {BigQueryReadClient, BigQueryWriteClient} from '@google-cloud/bigquery-storage-api';
import {v1, BigQueryReadClient, BigQueryWriteClient} from '@google-cloud/bigquery-storage-api';

@quirogas quirogas assigned quirogas and feywind and unassigned quirogas Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigquerystorage Issues related to the BigQuery Storage API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants