h3-py: Uber's H3 Hexagonal Hierarchical Geospatial Indexing System in Python
![version](https://img.shields.io/badge/License-Apache%202.0-blue.svg)
![codecov](https://codecov.io/gh/uber/h3-py/branch/master/graph/badge.svg)
Python bindings for the H3 core library.
Installation
From PyPI:
pip install h3
From conda:
conda config --add channels conda-forge
conda install h3-py
Usage
>>> import h3
>>> lat, lng = 37.769377, -122.388903
>>> resolution = 9
>>> h3.geo_to_h3(lat, lng, resolution)
'89283082e73ffff'
APIs
We provide multiple APIs in h3-py
.
Example gallery
Browse a collection of example notebooks,
and if you have examples or visualizations of your own, please feel free
to contribute!
We also have an introductory walkthrough of the API.
Versioning
h3-py
wraps the H3 core library,
which is written in C.
The C and Python projects each employ
semantic versioning,
where versions take the form X.Y.Z
.
The h3-py
version string is guaranteed to match the C library string
in both major and minor numbers (X.Y
), but may differ on the
patch (Z
) number.
This convention provides users with information on breaking changes and
feature additions, while providing downstream bindings (like this one!)
with the versioning freedom to fix bugs.
Use h3.versions()
to see the version numbers for both
h3-py
and the C library. For example,
>>> import h3
>>> h3.versions()
{'c': '3.6.3', 'python': '3.6.1'}