geoarrow-pandas
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.8; pyarrow and geoarrow-pyarrow must be installed first.
- 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 · maintenance · safety
Apache-2.0 (permissive) — 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.
last release 2023-10-05 (1044 days) · last repo commit 2025-09-30 · 95 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 172,650 downloads/mo, #10,330 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on it.
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
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.
Requires Python >= 3.8; pyarrow and geoarrow-pyarrow must be installed first.
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)
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 packagesgeoarrow-pyarrowpandaspyarrow |
| 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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “geoarrow pyarrow integration”
- geoarrow-pandasIntegrates GeoArrow geometry data with pandas and pyarrow, enabling…
- geoarrow-pyarrowProvides Python bindings for the GeoArrow specification, enabling…
- geoarrow-cgeoarrow-c provides low-level Python bindings to the GeoArrow C…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also geoarrow-pyarrow · geoarrow-types · geoarrow-c · plpygis · geopandas · pyarrow · overturemaps · feather-format · geomet · pydantic-to-pyarrow