googleapis / googleapis/google-cloud-python

support the Arrow PyCapsule Interface without a pyarrow dependency

Aperta
#15,699 3 commenti 3 reazioni 1 assegnatario Rivendicata da @tswast Vedi su GitHub
api: bigquery
Lingua principale
Python
Stelle
5.4k
Fork
1.8k
Merge medio
3g 4h
PR unite (30g)
122

Descrizione

**Is your feature request related to a problem? Please describe.**

The polars community uses the arrow in-memory format without a need for a dependency on the heavy weight pyarrow package, but the easiest way to get arrow out of and into BigQuery with this client requires the use of the pyarrow dependency.

**Describe the solution you'd like**

Expose the Arrow PyCapsule Interface on RowIterator (returned by QueryJob.result(), Client.query_and_wait(), Client.list_rows()). This functionality should not require pyarrow. See: https://gist.github.com/tswast/99b017b20386e324f5c7d2bd49f21b5f for a related example of how this could be done.

**Describe alternatives you've considered**

* Separate package exposing the Arrow PyCapsule Interface
* Always require pyarrow
* Directly integrate into polars (in-progress)

**Additional context**

* [[Python] Promote usage of the Arrow PyCapsule Protocol (for the C Data Inteface) #39195](https://github.com/apache/arrow/issues/39195)
* [support adbc APIs in DB-API package](https://github.com/googleapis/python-bigquery/issues/2015#top)
* [Support inserting data into BigQuery directly from a Polars DataFrame](https://github.com/googleapis/google-cloud-python/issues/15710#top)

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.