h3_common_plus

Build & Test codecov License: Apache 2.0

h3_common_plus provides an abstract interface for Dart/Flutter H3 bindings and defines the shared base for all platform-specific implementations.

This package is not intended for direct use. Instead, use one of the higher-level interface packages built on top of these shared types:

  • h3_dart_plus — For general Dart apps. Requires manually linking the appropriate native library (libh3.so, h3.dll, etc.).
  • h3_flutter_plus — For Flutter apps on Android, desktop, and web platforms.

Internal packages like h3_ffi_plus and h3_web_plus rely on h3_common_plus and should not be used directly.

macOS and iOS support is currently untested due to GitHub Actions limitations and lack of Apple hardware.

Background

This package is part of a complete rework of the original Dart H3 bindings, originally created by festelo for H3 v3.x. That work has been fully updated for Uber's H3 v4.2.1, including:

  • New and renamed APIs
  • Full support for cellToVertex, polygonToCellsExperimental, and more
  • Check the Changelogs for more details

All code has been modernized and expanded for better performance, compatibility, and testability across platforms.

License

This project is licensed under the Apache 2.0 License.

Libraries

h3_common_plus