skillfed

geoarrow-pyarrow

geoarrow-pyarrow v0.2.0 280.6K downloads/30d#8,109 on PyPI95
Permissive license Apache-2.0 AGING released

What it is and what it does

geoarrow-pyarrow bridges geographic data and Apache Arrow by registering PyArrow extension types that preserve coordinate reference system (CRS) and geometry type metadata when reading and writing Arrow-native formats like Parquet and Arrow IPC. It integrates with geopandas for bidirectional conversion and provides direct I/O to GeoParquet files and vector data via pyogrio, enabling memory-efficient workflows for large spatial datasets.

The package includes compute functions for coordinate transformations between WKT (well-known text), WKB (well-known binary), and native GeoArrow encodings, plus utilities to construct geometry arrays from coordinate buffers. It also exposes the geoarrow-types module for managing the large space of geometry type permutations (X, Y, Z, M dimensions and serialization formats), making it useful both for end users working with geographic data and for developers building geospatial tools on Arrow.

Use it for:

  • Read and write geographic data in Parquet format while preserving CRS and geometry type information.
  • Convert between geopandas GeoDataFrames and Arrow tables for memory-efficient processing of large point clouds or polygon datasets.
  • Load vector data directly from GeoParquet or OGR sources into PyArrow without intermediate geopandas materialization.
  • Transform coordinate encodings between WKT, WKB, and GeoArrow native formats for interoperability.
  • Build geospatial data pipelines that work natively with Arrow columnar storage and compute engines.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python bindings for the GeoArrow specification, enabling efficient storage and interchange of geographic data via PyArrow with support for Parquet, Arrow Stream, and Arrow File formats.

Yes, if you work with geographic data in Arrow-native formats or need efficient interop between geopandas and columnar storage. The low install friction and permissive license are favorable, but the aging maintenance status (444 days since last release) warrants checking whether active development meets your stability needs. No known security vulnerabilities.

Install

geoarrow-pyarrow on PyPI

pip

pip install geoarrow-pyarrow

uv

uv add geoarrow-pyarrow

poetry

poetry add geoarrow-pyarrow

Installing geoarrow-pyarrow

Before you install

Low install friction with a pure-wheel distribution. Maintenance status is aging—last release was 444 days ago—but the repository remains active with recent commits and no archived status.

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.

Quickstart

pip install geoarrow-pyarrow

import geoarrow.pyarrow as ga
import pyarrow as pa

# Register extension types and read Arrow IPC files
with pa.ipc.open_stream(source) as reader:
    tab = reader.read_all()

# Convert to geopandas
df = ga.to_geopandas(tab)

Requires Python >=3.8; pyarrow, geoarrow-types, and geoarrow-c must be installed.

Verify before relying

  • Performance characteristics when handling large geographic datasets relative to memory overhead.
  • Compatibility scope with specific versions of geopandas, pyogrio, and GeoParquet specifications.
  • Whether coordinate shuffling between WKT, WKB, and GeoArrow encodings preserves precision for all geometry types.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 3 — pyarrow, geoarrow-types, geoarrow-c
Maintenance aging — 444 days since the last release
Last repo commit
First released
Downloads 280,593/month — #8,109 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: geoarrow_pyarrow-0.2.0-py3-none-any.whl

Tags

geoarrow pyarrow integrationgeographic data arrow formatspatial data parquetgeometry arrow extension typeswkt wkb coordinate conversiongeopandas arrow interopgeospatial columnar storage
geospatialarrow-nativecolumnar-storage

More Scientific/Engineering packages