Keep the workflows you know. Replace the engine underneath. rg brings its high-performance Rust I/O and spatial engine to Python and R — Arrow-native, parallel by design, and built for notebooks, pipelines, and production.
Same workload. No downsizing. Every test runs at the competitor’s largest feasible dataset size. Full benchmarks & methodology →
import rg parcels = rg.read_file("parcels.parquet") zones = rg.read_file("flood_zones.gpkg") joined = parcels.sjoin(zones, predicate="within") joined.to_file("joined.gpkg")
library(rg) parcels <- rg_read("parcels.parquet") zones <- rg_read("flood_zones.gpkg") joined <- rg_join(parcels, zones, join = "within") rg_write(joined, "joined.gpkg")
If you know GeoPandas or sf, rg will feel familiar — read, filter, join, buffer, dissolve, and write using patterns you already know.
Arrow is the interchange layer. Move columnar data between rg and the modern data ecosystem without repeatedly rebuilding your datasets.
Prototype in a notebook. Run the same workflow in production. The same Rust engine powers interactive notebooks, scheduled pipelines, and Linux backends.