To bring closure to this thread:

#8401 <https://github.com/apache/arrow/pull/8401> implements the necessary
functionality to import and export from and to the C data interface,
includes an integration test
to run these against the API provided by pyarrow, and the CI is green.

Special thanks to Antoine Pitrou that was instrumental in guiding me
through this.

Best,
Jorge


On Thu, Sep 24, 2020 at 7:25 PM Antoine Pitrou <anto...@python.org> wrote:

>
> Le 24/09/2020 à 17:18, Antoine Pitrou a écrit :
> >> 1. in pyarrow, I was only able to find Array.from_buffers and
> from_pandas.
> >> Is the ABI implemented but not documented?
> >
> > It is implemented in C++ and also exposed (but undocumented) in Python.
> >
> > The Python methods are called `Array._import_from_c`,
> > `Array._export_to_c`, likewise for `Schema` and `RecordBatch`.
> >
> > You can find the source for Array methods here:
> >
> https://github.com/apache/arrow/blob/master/python/pyarrow/array.pxi#L1201
> >
> > There are ad-hoc tests for Python here:
> >
> https://github.com/apache/arrow/blob/master/python/pyarrow/tests/test_cffi.py
> >
> > The core C++ implementation is exported and documented here:
> > https://github.com/apache/arrow/blob/master/cpp/src/arrow/c/bridge.h
>
> Ah, and there are a couple of low-level C helpers you may find useful
> here, if you want to reimplement the same operations in Rust:
> https://github.com/apache/arrow/blob/master/cpp/src/arrow/c/helpers.h
>
> Regards
>
> Antoine.
>

Reply via email to