-
Notifications
You must be signed in to change notification settings - Fork 38
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
Remove Arrow mod, point to geoarrow crate #186
Conversation
In light of #187, do you think it's desirable to have the geozero integrations live externally? TBH I haven't really figured out which way is "least worst". |
I agree it's a difficult question. My first thought is: the dependency should go "from the crate that is changing more to the crate that is changing less". Right now, In relation to #187 and shapefile, maybe it's the other way around; if the core part of parsing shapefiles is more stable than geozero's release cycle, then maybe geozero itself should depend on Just my initial thoughts; what do you think? |
It's unfortunately not a very objective or stable criteria to apply, but I do think it's a pragmatic approach. 👍 One small thing to clarify: I don't think we care about non-breaking changes, only semver incompatible changes that can complicate cargo's dependency resolution. In that sense, the shapefile code might have a better chance of being stable, just by virtue of the format itself being stable. But I suppose that's not necessarily so. |
I agree it's not objective, but it feels like Rust's strict version resolution pushes towards this in practice. With geoarrow specifically, the geozero bindings are pretty significant in size. This entire directory is just for geozero bindings. It seems like it would be more invasive to add all of that to geozero and for maintenance to happen here. Edit: one more note is that geoarrow's geozero bindings are implemented using geo-traits (e.g. here), which isn't yet stable. Maybe in a future where geo-traits become stable, geozero can have a source that reads from |
FWIW: I published v0.1 of |
I'm +1 for merging. If there is an external |
Is this good to merge? |
Just to make sure I understand, the change notes for this might read like:
And the motivation for the change is because the geo-arrow crate is undergoing more frequent breaking changes than geozero (currently anyway). If so, it's all fine with me. |
Moved, yes, but more importantly updated and expanded the geozero/geoarrow integration:
The I am considering breaking Another possible consideration for "in which repo should code live" is the current flatgeobuf situation where IIUC there's a circular dependency between the flatgeobuf and geozero crates which makes it hard to make new releases? I'm not sure the right |
It's my first time trying the merge queue and I'm excited! |
Thanks for the explanation - I feel like you've explained it before, but it's kind of complicated for someone not steeped in the day to day of arrow, so I appreciate the recap. 👍 |
This is marked as WIP until 0.1 release of the geoarrow crate, expected to be this week (I need arrow-rs to release a new version).
arrow
mod in favor of the https://github.com/geoarrow/geoarrow-rs crate, which implements geozero conversions to and from each of the array types.