Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publically export Arrow crate from datafusion #36

Closed
alamb opened this issue Apr 23, 2021 · 5 comments · Fixed by #39
Closed

Publically export Arrow crate from datafusion #36

alamb opened this issue Apr 23, 2021 · 5 comments · Fixed by #39
Labels
datafusion Changes in the datafusion crate

Comments

@alamb
Copy link
Contributor

alamb commented Apr 23, 2021

As suggested by @andygrove and @returnString on #33 (comment)

Rationale:

Make it easy for crates that depend on DataFusion to get the correct version of the arrow-rs crate without having to manually keep versions in check

Proposed Changes:

DataFusion should publically re-export the Arrow crate so that dependent crates automatically get the same Arrow version

@alamb alamb added the datafusion Changes in the datafusion crate label Apr 23, 2021
@returnString
Copy link
Contributor

I'll take this later today if no-one else wants to claim it immediately :)

@jorgecarleitao
Copy link
Member

I though that dependencies could only be declared in Cargo.toml. Or is the idea that we use pub use arrow::* in datafusion/arrow.rs, and ask people to use use datafusion::arrow::X instead of arrow::X in their crates?

@returnString
Copy link
Contributor

I though that dependencies could only be declared in Cargo.toml. Or is the idea that we use pub use arrow::* in datafusion/arrow.rs, and ask people to use use datafusion::arrow::X instead of arrow::X in their crates?

Yeah, my understanding here is we'd use the latter approach of explicitly reexporting arrow. It'd still be possible for people to declare a dependency on arrow and use it directly, but the datafusion::arrow reexport would allow for people to get an appropriate version of arrow by default, rather than having to manually upgrade deps in lockstep :)

@jorgecarleitao
Copy link
Member

Makes a lot of sense to me 👍

I think we will need to remember to bump datafusion's major whenever we bump arrow's major in Cargo.toml, as datafusions' public API will now contain arrows' public API (right?)

@alamb
Copy link
Contributor Author

alamb commented Apr 24, 2021

Thank you @returnString !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
datafusion Changes in the datafusion crate
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants