Hello Arrow devs, Based on Joris' idea in [1], I've drafted up a protocol specification for PyCapsules holding Arrow C Data / Stream Interface structs. PR: [2]
This has two goals: 1. Provide a library-independent representation of these structs in Python 2. Standardize methods to export objects to these PyCapsules. This will help projects like nanoarrow be able to import Arrow data safely from more than just PyArrow [3]. It would also allow libraries to easily interchange Arrow data without requiring going through PyArrow or writing a bespoke export function. I would welcome feedback in the PR [2]. Thanks for your attention, Will Jones [1] https://github.com/apache/arrow/issues/34031 [2] https://github.com/apache/arrow/pull/37797 [3] https://github.com/apache/arrow-nanoarrow/blob/c4816261dc34f5f898b1658359c25b867b1079cd/python/src/nanoarrow/lib.py#L21-L35