geoarrow-types
What it is and what it does
geoarrow-types is a pure Python library that manages the complexity of GeoArrow type specifications. GeoArrow is a standardized way to represent geographic data in Apache Arrow format, but the specification allows many permutations: different geometry types, coordinate dimensions (X/Y, X/Y/Z, X/Y/M, X/Y/Z/M), and serialized encodings (native GeoArrow, well-known text, well-known binary). This package provides utilities to construct, query, and transform between these type combinations without manually tracking all the variations.
The package is designed primarily as a developer tool within the geoarrow ecosystem—it powers higher-level bindings that integrate with Arrow-friendly formats. If you are building tools that work with GeoArrow data or need to reason about geometry type compatibility across different encodings and dimensions, this package handles the type algebra for you.
Use it for:
- Determine the common GeoArrow type that can represent multiple input geometry types with different dimensions
- Convert between WKT, WKB, and native GeoArrow encodings while preserving coordinate dimensionality
- Construct PyArrow extension types for GeoArrow geometries with specific coordinate layouts and dimensions
- Validate and reason about geometry type compatibility when merging or transforming spatial datasets
- Build tooling that needs to inspect or manipulate GeoArrow type metadata and specifications
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides pure Python utilities to manage, compute on, and specify GeoArrow geometry types and their permutations across encodings, dimensions, and coordinate layouts.
Yes, if you are working with GeoArrow data in PyArrow or building tools that need to handle multiple geometry encodings and coordinate dimensions. No, if you are only using high-level libraries directly—those packages handle type management internally. The aging maintenance status is a minor concern but not a blocker, as the package is stable and has no known vulnerabilities.
Install
geoarrow-types on PyPI
pip
pip install geoarrow-typesuv
uv add geoarrow-typespoetry
poetry add geoarrow-typesInstalling geoarrow-types
Before you install
Low friction install with no runtime dependencies. Maintenance status is aging—last release was 444 days ago, though the repository remains active with a recent commit on 2025-09-30.
License in practice
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
import geoarrow.types as gt
gt.TypeSpec.common(
gt.Encoding.GEOARROW,
gt.GeometryType.POINT,
gt.GeometryType.MULTIPOINT,
gt.Dimensions.XYM,
gt.Dimensions.XYZ,
).to_pyarrow()
Verify before relying
- Whether geoarrow-types is intended for end-user applications or primarily as a developer-facing utility
- Performance characteristics when handling large numbers of type permutations
- Stability guarantees or semantic versioning policy given the aging maintenance status
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 444 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 315,135/month — #7,690 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: geoarrow_types-0.3.0-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-pandasIntegrates GeoArrow geometry data with pandas…
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
geometConverts between GeoJSON, WKT/WKB, Extended…
permissive · top 5,000 on PyPI
pygeoifPyGeoIf provides lightweight, pure-Python…
copyleft · top 15,000 on PyPI
pyGeoTileConverts between geographic coordinate systems…
permissive · top 15,000 on PyPI
pymap3dConverts between geographic and 3-D coordinate…
permissive · top 15,000 on PyPI
utmConverts between latitude/longitude coordinates…
permissive · top 5,000 on PyPI