Skip to content

chore(deps): update geoarrow-schema requirement from 0.4.0 to 0.5.0 - #802

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/geoarrow-schema-0.5.0
Closed

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/geoarrow-schema-0.5.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 22, 2025 •

Copy link
Copy Markdown
Contributor

Updates the requirements on geoarrow-schema to permit the latest version.

Release notes

Sourced from geoarrow-schema's releases.

rust-v0.4.0

This release contains more or less a full rewrite of the GeoArrow Rust library.

The geoarrow-rs project is about 3 years old. Early prototyping started inside the geopolars repo before deciding I needed something more general (not tied to Polars) and creating first geopolars/geoarrow and then lastly geoarrow/geoarrow-rs.

However despite its age, the geoarrow crate suffers from a couple issues. For one, it took a while to figure out the right abstractions. And learning Rust at the same time didn't help. The geoarrow crate is also too monolithic. Some parts of geoarrow are production ready, but there's decidedly a lot of code in geoarrow that is not production ready. And it's very much not clear which parts of geoarrow are production ready or not.

But I think geoarrow-rs has potential to form part of the core geospatial data engineering stack in Rust. And as part of that, we need a better delineation of which parts of the code are stable or not. As such, the geoarrow-rs repo is currently ongoing a large refactor from a single crate to a monorepo of smaller crates, each with a more well-defined scope.

As of May 2025, avoid using the geoarrow crate and instead use the newer crates with a smaller scope, like geoarrow-array.

New Features 🪄

  • Full support for the GeoArrow 0.2 specification, including all geometry array types and dimensions. See documentation in geoarrow-array.
  • Native support for the upstream Arrow ExtensionType concept introduced in arrow 54.2. See documentation in geoarrow-schema.

Removed functionality 🔧

A significant amount of code from the previous geoarrow crate is not currently available in the refactored geoarrow-* crates.

Some of this is intentional. Similar to the upstream arrow crate, we no longer export a ChunkedArray concept, suggesting the user to use streaming concepts like iterators where possible.

Other functionality like format readers and writers is intended to be restored once stable, but additional work needs to take place before there's enough confidence in that code.

Changelog

Sourced from geoarrow-schema's changelog.

0.4.0 (geoparquet crate) - 2025-07-08

New standalone geoparquet crate!

New Features 🪄

  • GeoParquet reader refactor to avoid making duplicate wrappers of upstream structs #1089
    • Removes wrapper structs for builders. So we no longer have a GeoParquetRecordBatchReaderBuilder or a GeoParquetRecordBatchStreamBuilder. Users will use upstream parquet sync/async Builder structs directly. Means a significantly lower maintenance overhead here, and we don't need to do anything to support new upstream functionality.

    • Adds GeoParquetReaderBuilder trait that extends the upstream ArrowReaderBuilder. This allows users to implement a spatial RowFilter directly on an upstream builder instance. It also allows low-level access, so that if a user wanted a spatial filter plus something else, that would be doable.

    • Allows user to choose when the WKB column should be parsed to a native GeoArrow type or not in the geoarrow_schema method. (the parse_to_native parameter)

    • Keeps wrapper structs for readers. So we still have a GeoParquetRecordBatchReader and a GeoParquetRecordBatchStream, but these are very lightweight wrappers.

      The benefit of having these wrapper structs is that we can ensure GeoArrow metadata is always applied onto the emitted RecordBatches.

  • Refactor of GeoParquetReaderMetadata and GeoParquetDatasetMetadata #1172
    • Remove Option for the geospatial metadata of each GeoParquetReaderMetadata and GeoParquetDatasetMetadata. We assume that if the user is using the geoparquet crate, all files will have valid GeoParquet metadata.
  • Remove GeoParquet writer wrappers and just expose encoder #1214
    • Similar to how we refactored the read side (geoarrow/geoarrow-rs#1089, geoarrow/geoarrow-rs#1172), this PR changes the writing APIs of the geoparquet crate to only provide additive APIs to the upstream parquet crate. So this is now intended to be used in conjunction with the upstream parquet crate, not exclusively of it.
  • Add support for writing covering column to GeoParquet #1216
    • Add support for generating the a bounding box covering column while writing data.
    • Reconfigure writer properties generation. This takes inspiration from the upstream parquet properties generation, and has both column specific properties and default properties. So you can set the encoding for all columns but you can also override the encodings for specific columns.
  • Allow passing primary column to parquet writer #1159
  • Correctly set geometry types in GeoParquet metadata when writing #1218

[0.4.0] - 2025-05-28

This release contains more or less a full rewrite of the GeoArrow Rust library.

The geoarrow-rs project is about 3 years old. Early prototyping started inside the geopolars repo before deciding I needed something more general (not tied to Polars) and creating first geopolars/geoarrow and then lastly geoarrow/geoarrow-rs.

However despite its age, the geoarrow crate suffers from a couple issues. For one, it took a while to figure out the right abstractions. And learning Rust at the same time didn't help. The geoarrow crate is also too monolithic. Some parts of geoarrow are production ready, but there's decidedly a lot of code in geoarrow that is not production ready. And it's very much not clear which parts of geoarrow are production ready or not.

But I think geoarrow-rs has potential to form part of the core geospatial data engineering stack in Rust. And as part of that, we need a better delineation of which parts of the code are stable or not. As such, the geoarrow-rs repo is currently ongoing a large refactor from a single crate to a monorepo of smaller crates, each with a more well-defined scope.

As of May 2025, avoid using the geoarrow crate and instead use the newer crates with a smaller scope, like geoarrow-array.

New Features 🪄

  • Full support for the GeoArrow 0.2 specification, including all geometry array types and dimensions. See documentation in geoarrow-array.
  • Native support for the upstream Arrow ExtensionType concept introduced in arrow 54.2. See documentation in geoarrow-schema.

Removed functionality 🔧

A significant amount of code from the previous geoarrow crate is not currently available in the refactored geoarrow-* crates.

Some of this is intentional. Similar to the upstream arrow crate, we no longer export a ChunkedArray concept, suggesting the user to use streaming concepts like iterators where possible.

Other functionality like format readers and writers is intended to be restored once stable, but additional work needs to take place before there's enough confidence in that code.

[0.3.0] - 2024-09-07

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [geoarrow-schema](https://github.com/geoarrow/geoarrow-rs) to permit the latest version.
- [Release notes](https://github.com/geoarrow/geoarrow-rs/releases)
- [Changelog](https://github.com/geoarrow/geoarrow-rs/blob/main/CHANGELOG.md)
- [Commits](geoarrow/geoarrow-rs@py-v0.4.0...py-v0.4.0)

---
updated-dependencies:
- dependency-name: geoarrow-schema
  dependency-version: 0.4.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Sep 22, 2025

Copy link
Copy Markdown
Contributor Author

Looks like geoarrow-schema is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Sep 22, 2025
@dependabot
dependabot Bot deleted the dependabot/cargo/geoarrow-schema-0.5.0 branch September 22, 2025 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants