skillfed

geoarrow-c

Python bindings to the geoarrow C and C++ implementation

geoarrow-c v0.3.1 312.6K downloads/30d#7,723 on PyPI34
Permissive license Apache-2.0 Active released

What it is and what it does

geoarrow-c is a low-level Python binding to the GeoArrow C/C++ library, primarily designed to serve as a dependency for geoarrow-python. It exposes compute kernels and the Arrow C Data interface, allowing direct interaction with geographic data stored in Arrow format. The package provides access to operations like box aggregation and other spatial computations through a C-based implementation.

Most users should use the higher-level geoarrow-python bindings instead. Direct use of geoarrow-c requires manual management of Arrow C Data structures (SchemaHolder, ArrayHolder) and understanding of the Arrow C Data interface. The package has no runtime dependencies and is available as pre-built wheels for common platforms.

Use it for:

  • Serve as a compiled dependency for geoarrow-python when native compute performance is needed
  • Access low-level GeoArrow compute kernels directly via the Arrow C Data interface for custom spatial operations
  • Integrate geographic Arrow data processing into systems that already use PyArrow and need C-level performance

Worth the install?

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

geoarrow-c provides low-level Python bindings to the GeoArrow C implementation, exposing compute kernels and the Arrow C Data interface for working with geographic data in Arrow format.

Yes, if you are using geoarrow-python or need direct access to GeoArrow compute kernels via the Arrow C Data interface. No, if you are looking for a high-level geographic data library. The package is stable (active maintenance, no known vulnerabilities, permissive license) but is primarily a low-level dependency rather than a user-facing tool.

Install

geoarrow-c on PyPI

pip

pip install geoarrow-c

uv

uv add geoarrow-c

poetry

poetry add geoarrow-c

Installing geoarrow-c

Before you install

Medium install friction due to compiled wheels for multiple platforms. Repository is active with recent commits, though the package is primarily a dependency for higher-level tools rather than a direct user library.

License in practice

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

Quickstart

pip install geoarrow-c

import geoarrow.c
from geoarrow.c import lib

# Use lib.SchemaHolder, lib.ArrayHolder, lib.CKernel to work with Arrow C Data interface

Requires Python 3.8 or later; direct use of compute kernels requires familiarity with the Arrow C Data interface.

Verify before relying

  • Whether this package is intended for direct end-user use or exclusively as a transitive dependency
  • Performance characteristics or benchmarks for the exposed compute kernels
  • Stability guarantees or API compatibility policy across releases

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 308 days since the last release
Last repo commit
First released
Downloads 312,587/month — #7,723 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: geoarrow_c-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl; geoarrow_c-0.3.1-cp310-cp310-macosx_11_0_arm64.whl; geoarrow_c-0.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; geoarrow_c-0.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; geoarrow_c-0.3.1-cp310-cp310-musllinux_1_2_aarch64.whl; geoarrow_c-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl; geoarrow_c-0.3.1-cp310-cp310-win32.whl; geoarrow_c-0.3.1-cp310-cp310-win_amd64.whl; geoarrow_c-0.3.1-cp310-cp310-win_arm64.whl; geoarrow_c-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl; geoarrow_c-0.3.1-cp311-cp311-macosx_11_0_arm64.whl; geoarrow_c-0.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; geoarrow_c-0.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; geoarrow_c-0.3.1-cp311-cp311-musllinux_1_2_aarch64.whl; geoarrow_c-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl; geoarrow_c-0.3.1-cp311-cp311-win32.whl; geoarrow_c-0.3.1-cp311-cp311-win_amd64.whl; geoarrow_c-0.3.1-cp311-cp311-win_arm64.whl; geoarrow_c-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl; geoarrow_c-0.3.1-cp312-cp312-macosx_11_0_arm64.whl

Tags

geoarrow python bindingsgeographic arrow compute kernelsarrow c data interface geogeoarrow c library pythonspatial data arrow format
geospatialarrow-bindingsc-extension

More Scientific/Engineering packages