Skip to content

Deliver pyarrow as a standalone crate #7668

@brunal

Description

@brunal

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    arrowChanges to the arrow crateenhancementAny new improvement worthy of a entry in the changelog

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions