Neal Richardson created ARROW-7912: -------------------------------------- Summary: [Format] C data interface Key: ARROW-7912 URL: https://issues.apache.org/jira/browse/ARROW-7912 Project: Apache Arrow Issue Type: Improvement Components: Format Affects Versions: 1.0.0 Reporter: Neal Richardson Assignee: Antoine Pitrou
Apache Arrow is designed to be a universal in-memory format for the representation of tabular ("columnar") data. However, some projects may face a difficult choice between either depending on a fast-evolving project such as the Arrow C++ library, or having to reimplement adapters for data interchange, which may require significant, redundant development effort. The Arrow C data interface defines a very small, stable set of C definitions that can be easily *copied* in any project's source code and used for columnar data interchange in the Arrow format. For non-C/C++ languages and runtimes, it should be almost as easy to translate the C definitions into the corresponding C FFI declarations. Applications and libraries can therefore work with Arrow memory without necessarily using Arrow libraries or reinventing the wheel. Developers can choose between tight integration with the Arrow *software project* (benefitting from the growing array of facilities exposed by e.g. the C++ or Java implementations of Apache Arrow, but with the cost of a dependency) or minimal integration with the Arrow *format* only. -- This message was sent by Atlassian Jira (v8.3.4#803005)