singhpratech commented on PR #51236: URL: https://github.com/apache/arrow/pull/51236#issuecomment-5704941591
The methods are the public part already: `$export_to_c()` and `$import_from_c()` are what nanoarrow itself calls (`as_nanoarrow_array.Array` hands `x$export_to_c()` a `nanoarrow_allocate_array()`, and `as_arrow_array.nanoarrow_array` calls `arrow::Array$import_from_c()`), and 25.0.0 has no help page for either. The six allocators already exist in the package for the Python bridge. The change exports them and documents the methods so a package that already depends on arrow can call arrow's own methods without `arrow:::` (which R CMD check flags) or a second dependency for a struct allocation. That is the whole case, and it is a small one. The case for nanoarrow instead is that it is the project's answer for the C Data Interface in R, one route is better than two, and the use case on the issue (r-polars) has since gone through nanoarrow. If that is where you would rather keep it, I will cut this to the documentation: the two methods on `?Array`, with the example allocating through nanoarrow, and drop the exports, the new test and the NEWS entry. Your call. -- 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]
