Skip to main content

Fast I/O and transformation tools for GeoParquet files

Project description

geoparquet-io

Tests Python Version License Code style: ruff

Fast I/O and transformation tools for GeoParquet files using PyArrow and DuckDB.

📚 Full Documentation | Quick Start Tutorial

Features

  • Fast: Built on PyArrow and DuckDB for high-performance operations
  • Comprehensive: Sort, extract, partition, enhance, validate, and upload GeoParquet files
  • Cloud-Native: Read from and write to S3, GCS, Azure, and HTTPS sources
  • Spatial Indexing: Add bbox, H3 hexagonal cells, KD-tree partitions, and admin divisions
  • Best Practices: Automatic optimization following GeoParquet 1.1 and 2.0 specs
  • Parquet Geo Types support: Read and write Parquet geometry and geography types.
  • Flexible: CLI and Python API for any workflow
  • Tested: Extensive test suite across Python 3.10-3.13 and all platforms

Installation

pip install geoparquet-io

See the Installation Guide for other options (uv, from source) and requirements.

Quick Start

# Inspect file structure and metadata
gpio inspect myfile.parquet

# Check file quality and best practices
gpio check all myfile.parquet

# Add bounding box column for faster queries
gpio add bbox input.parquet output.parquet

# Sort using Hilbert curve for spatial locality
gpio sort hilbert input.parquet output_sorted.parquet

# Partition by admin boundaries
gpio partition admin buildings.parquet output_dir/ --dataset gaul --levels continent,country

# Remote-to-remote processing (S3, GCS, Azure, HTTPS)
gpio add bbox s3://bucket/input.parquet s3://bucket/output.parquet --profile my-aws
gpio partition h3 gs://bucket/data.parquet gs://bucket/partitions/ --resolution 9
gpio sort hilbert https://example.com/data.parquet s3://bucket/sorted.parquet

For more examples and detailed usage, see the Quick Start Tutorial and User Guide.

Contributing

Contributions are welcome! See CONTRIBUTING.md for development setup, coding standards, and how to submit changes.

Links

License

Apache 2.0 - See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geoparquet_io-0.6.0.tar.gz (693.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

geoparquet_io-0.6.0-py3-none-any.whl (147.3 kB view details)

Uploaded Python 3

File details

Details for the file geoparquet_io-0.6.0.tar.gz.

File metadata

  • Download URL: geoparquet_io-0.6.0.tar.gz
  • Upload date:
  • Size: 693.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoparquet_io-0.6.0.tar.gz
Algorithm Hash digest
SHA256 a25b8d5684470c81de2e2b4c876f1d808132621d9f028457486c7dc20880a03d
MD5 123d678eed897a38cb3bf2a4c6a2192e
BLAKE2b-256 5960a73e6eeb31fc4966522ff95711af158eb69d754d07cbd34a4aabfcbf4f86

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoparquet_io-0.6.0.tar.gz:

Publisher: publish.yml on geoparquet/geoparquet-io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file geoparquet_io-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: geoparquet_io-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 147.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for geoparquet_io-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6c1f1b85a995f599b0f3fa9ac85d8fd5b18ef32ca7233b34e99865d307788fd
MD5 c72e78b611c7b328c445876a0eceefbf
BLAKE2b-256 471e1528d48f8230b86e31226658f56a1f4dfdc451cfd9fa94766255b15cae3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for geoparquet_io-0.6.0-py3-none-any.whl:

Publisher: publish.yml on geoparquet/geoparquet-io

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page