-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
I have a codebase that heavily uses arrow. I offer bindings in multiple languages.
For python, this means I depend on the pyarrow feature. But for other languages (e.g. C++), this is very undesirable: I don't want my C++ library to depend on pyarrow and pyo3 and a python shared library. Due to feature unification, when I build everything at once, my C++ bindings end up with a dependency on python.
Describe the solution you'd like
If pyarrow were a standalone crate, then my python bindings would depend on it, but nothing else would.
Describe alternatives you've considered
Vendor arrow-rs, providing myself pyarrow as a crate in my codebase.
Additional context
For a glance at the pyarrow feature, its scope is relatively limited, and extracting it into its own crate is relatively easy. pyarrow could remain a feature of the arrow crate, and users could either use it just like now or as a standalone crate.
I have a fork that does it at https://github.com/brunal/arrow-rs/commits/standalone-pyarrow/. LMK if a pull request would be welcome.