Skip to main content

python bindings for h3ron

Project description

h3ronpy

PyPI version

Python extension for the H3 geospatial indexing system exposing some functionalities of the h3ron* rust crates to the python language and integrating with the numpy, pandas, geopandas, rasterio and gdal libraries.

One goal is to not duplicate any functions already implemented by the official H3 python bindings.

This library is in parts parallelized using rayon. The number of threads can be controlled as described in the rayon FAQ

Usage

See the included jupyter notebook documentation.ipynb. The notebook requires these dependencies to run.

Logging

This library uses rusts log crate together with the env_logger crate. This means that logging to stdout can be controlled via environment variables. Set RUST_LOG to debug, error, info, warn, or trace for the corresponding log output.

For more fine-grained logging settings, see the documentation of env_logger.

Installation

So far this library is not available via PyPI.

To build this extension, you will need:

  • Rust. Install the latest version using rustup
  • A C compiler for the libh3 sources, for example clang
  • cmake, and eventually make
  • Python 3.x and the corresponding C headers
  • The dependencies from the requirements.dev.txt file.

On Ubuntu most system-level dependencies should be available after running rustup and

sudo apt-get install cmake python3-dev build-essential

Build using maturin

There are three main commands:

  • maturin publish builds the crate into python packages and publishes them to pypi.
  • maturin build builds the wheels and stores them in a folder (../target/wheels by default), but doesn't upload them. It's possible to upload those with twine.
  • maturin develop builds the crate and installs it as a python module directly in the current virtualenv.

To build the extension just use the maturin build --release command for an optimized build.

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

h3ronpy-0.10.0.tar.gz (1.7 MB view hashes)

Uploaded Source

Built Distribution

h3ronpy-0.10.0-cp36-abi3-manylinux_2_24_x86_64.whl (805.9 kB view hashes)

Uploaded CPython 3.6+ manylinux: glibc 2.24+ x86-64

Supported by

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