arrow-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pasha Stetsenko <stpa...@gmail.com>
Subject Arrow C Data Interface
Date Mon, 19 Oct 2020 17:34:04 GMT
Hi everybody,

I've been reading http://arrow.apache.org/docs/format/CDataInterface.html,
which has been
"... inspired by the Python buffer protocol", and i can't find any details
on how to connect this
protocol with other libraries/applications.

Here's what I mean: with the python buffer protocol, i can create a new
type and set its
`tp_as_buffer` field to a `PyBufferProcs` structure. This way any other
library can call
`PyObject_CheckBuffer()` on my object to check whether or not it supports
the buffer interface,
and then `PyObject_GetBuffer()` to use that interface.

I could not find the corresponding mechanisms in the Arrow C data
interface. For example, consider the "Exporting a simple int32 array"
tutorial in the article above. After creating
`export_int32_type()`, `release_int32_type()`, `export_int32_array()`,
`release_int32_array()`
-- how do i announce to the world that these functions are available?
Conversely, if i want to
talk to an Arrow Table via this interface -- where do i find the endpoints
that return
`ArrowSchema` and `ArrowArray` structures?

(I understand that there is an additional, more complicated API for
accessing arrow objects http://arrow.apache.org/docs/python/extending.html,
but this seems to be a completely different
API than what CDataInterface describes).

Mime
View raw message