kevingurney opened a new issue, #41656: URL: https://github.com/apache/arrow/issues/41656
### Describe the enhancement requested After #41653 and #41654 is addressed, we should add MATLAB APIs for importing/exporting `arrow.array.Array`s using the C Data Interface format. The C Data Interface format import/export workflows would look something like: # Import into MATLAB ```matlab cArray = arrow.c.Array cSchema = arrow.c.Schema . . . % Pass cArray and cSchema to the export APIs of another Arrow language binding to fill in C struct details ... . . . % Import Arrow Array from pre-populated C Data Interface format C structs A = arrow.array.Array.importFromC(cArray, cSchema) ``` # Export from MATLAB ```matlab . . . % Create C Data Interface format ArrowArray and ArrowSchema C structs using APIs of another Arrow language binding ... . . . A = arrow.array(1:10) % Export Arrow Array from MATLAB to C Data Interface format and fill in C struct details A.exportToC(cArrayAddress, cSchemaAddress) . . . % Import Arrow Array from pre-populated C Data Interface format C structs using APIs of another Arrow language binding . . . ``` We can implement the import/export functionality using the C Data Interface format C++ APIs defined in https://github.com/apache/arrow/blob/main/cpp/src/arrow/c/bridge.h. @sgilmore10 and I already created a [prototype](https://github.com/mathworks/arrow/tree/arrow-array-address) using `mlarrow` and `pyarrow` to verify that these import/export workflows work as expected. ### Component(s) MATLAB -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
