skillfed

geoarrow-types

geoarrow-types v0.3.0 315.1K downloads/30d#7,690 on PyPI95
Permissive license Apache-2.0 AGING released

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-types

uv

uv add geoarrow-types

poetry

poetry add geoarrow-types

Installing 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

geoarrow type specificationgeometry type utilitiesarrow geometry encodingcoordinate dimension handlingwkt wkb conversion toolsgeoarrow type managementspatial data type system
geospatialarrow-integrationtype-system

More Scientific/Engineering packages