Python & R

Python + R, accelerated.

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.

40×
Median speedup vs GeoPandas
18 / 18 operations won
37×
Median speedup vs R sf
16 / 16 operations won

Same workload. No downsizing. Every test runs at the competitor’s largest feasible dataset size. Full benchmarks & methodology →

Python · GeoPandas-familiar
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")
R · sf-familiar
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")

Familiar by design

If you know GeoPandas or sf, rg will feel familiar — read, filter, join, buffer, dissolve, and write using patterns you already know.

Arrow-native

Arrow is the interchange layer. Move columnar data between rg and the modern data ecosystem without repeatedly rebuilding your datasets.

Notebook to production

Prototype in a notebook. Run the same workflow in production. The same Rust engine powers interactive notebooks, scheduled pipelines, and Linux backends.

Accelerate your existing analytics workflow.

Request a Demo