--- id: geoarrow-c version: "0.3.1" license: Apache-2.0 license_treatment: permissive maintenance: active --- # geoarrow-c — Python bindings to the geoarrow C and C++ implementation License: permissive · Maintenance: active · Downloads: 312.6K/mo ## 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 above — 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 pip install geoarrow-c uv add geoarrow-c 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_current - Install friction: medium - Maintenance: active - Downloads: 312.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags geoarrow python bindings, geographic arrow compute kernels, arrow c data interface geo, geoarrow c library python, spatial data arrow format, geospatial, arrow-bindings, c-extension [View on SkillFed](https://skillfed.io/packages/geoarrow-c) · [View on PyPI](https://pypi.org/project/geoarrow-c/)