The H3 core library adheres to Semantic Versioning.
H3-Py has a major.minor.patch version scheme. The major and minor version
numbers of H3-Py are the major and minor version of the bound core library,
respectively. The patch version is incremented independently of the core
library.
We use this changelog structure.
Because H3-Py is versioned in lockstep with the H3 core library, please avoid adding features or APIs which do not map onto the H3 core API.
cells_to_h3shape/cells_to_geonow handle all valid cell sets, including sets that would produce global polygons crossing the antimeridian, poles, or are larger than a hemisphere- Duplicate cells now raise
H3DuplicateInputError - Mixed-resolution cells now raise
H3ResMismatchError - Internal: switch from linked-list to array-based C API for cells-to-polygon conversion
- Duplicate cells now raise
- Update
h3libwith draft v4.5 changes - Drop Python 3.8 and 3.9 (EOL); minimum is now Python 3.10
- Document Python 3.14 support
- Migrate build tooling from Makefile/pip to justfile/uv, including CI
- Check for error from
cellsToLinkedMultiPolygon(#477)
- Fix PyPI publishing issue (#474)
- Update
h3libto v4.4.1. (#470)- Add new error codes:
H3IndexInvalidErrorH3BaseCellDomainErrorH3DigitDomainErrorH3DeletedDigitError
- Add new functions:
is_valid_indexget_index_digitconstruct_celldeconstruct_cell
- Add new error codes:
- Build wheels for Windows on ARM64 (#463)
- Update
h3libto v4.3.0. (#461)- Uses
gridRing(uber/h3#1016) instead of Cython fallback logic.
- Uses
- Update h3lib to v4.2.1. (#450)
- Correct pyproject.toml links for PyPI (#441)
- Update coverage badge (#443)
- Update h3lib to v4.2.0. (#432)
- Add
h3shape_to_cells_experimental(#436)- Add
polygon_to_cells_experimentalalias
- Add
- Build Python 3.13 wheels (#425)
- Make sure docs and PyPI page are up-to-date.
- Final v4.1 release inculdes all v4.x changes below.
- Allow for
strsubtypes, likenumpy.str_(#408)
- Add
cell_to_child_pos,child_pos_to_cell,cell_to_children_size(#405)
- Bump h3lib to v4.1.0 (#402)
- Add
polygon_to_cellsalias (#399)
- Use
pyproject.tomlandscikit-build-core(#378)
- Added bindings for
cellToVertex,cellToVertexes,vertexToLatLng, andisValidVertex(#388)
- Rename
H3PolyandH3MultiPolytoLatLngPolyandLatLngMultiPoly(#364) - Add ability to convert from
__geo_interface__objects with Z-coordinate (#371)
No changes, just testing: #360
- Change supported Python versions to 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 (#324, #325, #347, #348)
- New
h3.Polygon()/GeoJSON interface (#301) - Use functions instead of methods for the interface functions (#334)
- Use
listinstead ofsetfor unordered Python outputs (#339)
- Build Python 3.11 wheels (#297)
Beta release; feedback welcome!
- Move to v4.0 of the core C library (#250)
- Function name changes: https://github.com/uber/h3/blob/master/dev-docs/RFCs/v4.0.0/names_for_concepts_types_functions.md
- New error system
- New interfaces for
polygon_to_cellsandcells_to_polygonsinvolving a newh3.Polygonclass
- Expose the Cython API (#234)
- Note: The Cython API is not yet stable, and should only be used for experimentation
- Website and API documentation; along with docstring cleanup.
- Add support for linters and IDE tooling (#213)
- Remove Py 3.5 wheel for Windows (#214)
- Py 3.10 wheels and on more architectures (#220, #221, #223, #225)
- Greatly reduce sdist size (#227, #229)
- Wheels for Linux Aarch64 (#189)
- Add vectorized h3_to_parent and h3_get_resolution (#166)
- fix for #169:
h3_distanceerror reporting (#175) - build Python 3.9 wheel for Mac (#175)
- bump h3lib version to v3.7.1 (#175)
- Add functions (#171)
cell_areaexact_edge_lengthpoint_dist
- Add
requirements.inforpip-compileusage (#157) - Update
h3-cto v3.6.4 (#157) - Add functions:
experimental_local_ij_to_h3(#155)experimental_h3_to_local_ij(#155)h3.unstable.vect.cell_haversine(#147)h3.unstable.vect.geo_to_h3(#147)- Prototype v4 names under
h3.unstable.v4(#146)
- Add functions:
get_res0_indexesh3_to_center_childh3_get_faces
- Improve error reporting on
str_to_int(#127) - Build Linux wheels for Python 2.7
- Switch to Cython wrapper implementation
- Pre-built wheels on PyPI for Linux/Mac/Windows
- Provide multiple APIs:
h3.api.basic_strh3.api.basic_inth3.api.numpy_inth3.api.memview_int
- Removed null values in k_ring_distances.
- Support on Windows Platform
- Fixed some install problems
- Added h3_line support.
- Added h3_distance function.
- Updated the core library to v3.1.0.
- First public release.