geoarrow-pandas
What it is and what it does
geoarrow-pandas bridges GeoArrow geometry data with the pandas and pyarrow ecosystem. It registers pyarrow extension types so that coordinate reference systems (CRS) and geometry type metadata survive I/O operations on Arrow-native formats like Parquet and Arrow IPC files. The package provides utilities to read and write GeoParquet files, convert to and from geopandas GeoDataFrames, and perform coordinate transformations between WKT (well-known text), WKB (well-known binary), and native GeoArrow encodings.
The package is built on top of geoarrow-pyarrow and adds pandas-specific integration. It includes compute functions for common geometry operations (e.g., formatting to WKT) and tools for constructing GeoArrow arrays from buffers or existing geometry sources. The main use case is working with large geographic datasets in columnar format without the memory overhead of traditional GeoDataFrame representations.
Use it for:
- Load large geographic datasets from GeoParquet files into pyarrow tables while preserving CRS metadata.
- Convert between geopandas GeoDataFrames and Arrow-native formats for memory-efficient processing.
- Transform coordinate encodings (WKT ↔ WKB ↔ GeoArrow) for interoperability with other geospatial tools.
- Read geographic data directly from Arrow IPC streams with geometry type and CRS information intact.
- Construct GeoArrow arrays programmatically from coordinate buffers for custom geometry pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Integrates GeoArrow geometry data with pandas and pyarrow, enabling efficient I/O to Arrow-friendly formats and coordinate transformations between WKT, WKB, and GeoArrow encodings.
Yes, if you work with geographic data in Arrow or Parquet formats and need to preserve geometry metadata through I/O operations. The low install friction and permissive license make it a safe addition. However, note that the package itself has not been updated since October 2023—check whether active development has consolidated into geoarrow-pyarrow before adopting it for new projects.
Install
geoarrow-pandas on PyPI
pip
pip install geoarrow-pandasuv
uv add geoarrow-pandaspoetry
poetry add geoarrow-pandasInstalling geoarrow-pandas
Before you install
Low friction: pure Python wheel with only three runtime dependencies (geoarrow-pyarrow, pandas, pyarrow). Package is aging—last release was October 2023, though the underlying repository remains active with recent commits.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and note any modifications.
Quickstart
pip install geoarrow-pandas
import geoarrow.pyarrow as ga
import pyarrow as pa
# Read Arrow IPC file with GeoArrow extension types preserved
with pa.ipc.open_stream(file) as reader:
tab = reader.read_all()
# Convert to geopandas
df = ga.to_geopandas(tab)
Requires Python >= 3.8; pyarrow and geoarrow-pyarrow must be installed first.
Verify before relying
- Whether geoarrow-pandas is actively maintained or if development has moved to geoarrow-pyarrow.
- Whether this package is intended as a standalone entry point or primarily as a convenience wrapper.
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 — geoarrow-pyarrow, pandas, pyarrow |
| Maintenance | aging — 1,044 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 172,650/month — #10,330 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: geoarrow_pandas-0.1.1-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
geoarrow-pyarrowProvides Python bindings for the GeoArrow…
permissive · top 15,000 on PyPI
geoarrow-typesProvides pure Python utilities to manage,…
permissive · top 15,000 on PyPI
geoarrow-cgeoarrow-c provides low-level Python bindings…
permissive · top 15,000 on PyPI
plpygisConverts geometries between WKB/EWKB, WKT/EWKT,…
copyleft · top 15,000 on PyPI
geopandasGeoPandas extends pandas DataFrames to handle…
permissive · top 1,000 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
overturemapsDownload and convert Overture Maps geospatial…
permissive · top 15,000 on PyPI
feather-formatFeather-format provides a Python interface to…
permissive · top 15,000 on PyPI
geometConverts between GeoJSON, WKT/WKB, Extended…
permissive · top 5,000 on PyPI
pydantic-to-pyarrowConverts pydantic model definitions to pyarrow…
permissive · top 15,000 on PyPI