// the find
pola-rs/geopolars
Geospatial extensions for Polars
GeoPolars brings geospatial operations to Polars DataFrames, using GeoArrow as the internal memory format and a Rust core exposed via PyO3. It's the natural successor to GeoPandas for anyone already on Polars — same mental model, but columnar and parallelizable. The project was blocked for years on Polars lacking Arrow extension type support; that blocker was resolved in November 2025 and active development is just resuming.
The GeoArrow memory model is the right call — geometry stored as Arrow-native types means zero-copy interop with other Arrow-based tools (DuckDB, Lonboard, etc.) rather than converting to/from WKB on every operation. The Rust core gives you real multithreading on geometry operations, which GeoPandas can't do because GEOS releases the GIL inconsistently. Binary wheels are published for major platforms, so you don't need a Rust toolchain to `pip install` it. The pola-rs org ownership (not a solo fork) gives it a realistic chance of becoming the official geospatial story for Polars.
This is still explicitly a prototype — the PyPI package is alpha.4 and the README says as much. The geometry ops currently copy WKB into georust structs on every call, so the performance story is worse than it looks until zero-copy access traits land in the geo crate. The feature set is nowhere near GeoPandas: no spatial joins, no dissolve, no reprojection pipeline worth using in production. And the project was effectively dormant for years waiting on Polars internals — the December 2025 update is promising but 'subject to time constraints' is not a shipping schedule.