-
Notifications
You must be signed in to change notification settings - Fork 65
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
Apache Arrow 15 support #345
Comments
This breaks compatibilty with arrow 15 (using table / toIPC breaks) |
Which methods specifically? Arrow 14 and 15 use the same IPC format and the APIs are very similar. |
I see what you mean. The binary format somehow changes: #347. |
Haha nice to see you over here. Small world. |
I sent a pull request to change the default nullable for typed arrays back to not nullable (and also fixed a bug in null count): apache/arrow#40852. I think we could either update to arrow 15 now with my fix to the tests and then later revert, or wait for arrow 16. Either way, arquero should work either version. |
I could make a separate issue for it, but it would also be helpful if arrow was a peer dependency instead of a direct dependency (helps make sure an app only ends up with a single copy of arrow shared across dependencies). "peerDependencies": {
"apache-arrow": "^15.0.0"
}, If arrow is good at backwards compatibility (although maybe the issues you ran into are reason enough to not assume that and need manual update across major versions) could consider a broader range specifier. "peerDependencies": {
"apache-arrow": ">=15.0.0"
}, That would be similar to the pattern of libraries like |
The arrow ipc is backwards compatible. The arrow library is best effort backwards compatible. But yes, that's a separate issue for arquero. Why do we need a peer dependency? Couldn't we specify a broader range for the dependency so that npm can dedupe? |
It's handy for libraries that share constructed objects between each other. Example:
Becomes an issue when in the app:
Versus with peerDependencies:
The app must either:
|
Critical difference is, is it okay if npm sometimes doesn't dedupe or is it potentially an issue if multiple copies of the library exist in the app at different versions. For arrow as a dependency I think it's safer for end users to indicate that an app should really only resolve to a single shared copy of arrow and peerDependencies let you specify that. Particularly because arquero does have APIs for sharing constructed instances of the shared arrow library (if it was completely internal then would make sense as just a dependency). |
Could dependencies be updated to support apache-arrow 15?
The text was updated successfully, but these errors were encountered: