Automic VaultAutomic Vault

brew

Install h3 with Homebrew, dnf, MacPorts, Nix

Hexagonal hierarchical geospatial indexing system. Version 4.5.0 via Homebrew; verified 2026-05-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install h3

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install h3

MacPorts ports tree · gis/h3/Portfile · source: api.github.com

overview

Package summary

Hexagonal hierarchical geospatial indexing system

Commands and aliases

  • cellToBoundary
  • cellToBoundaryHier
  • cellToLatLng
  • cellToLatLngHier
  • cellToLocalIj
  • gridDisk
  • gridDiskUnsafe
  • h3
  • h3ToComponents
  • h3ToHier
  • latLngToCell
  • localIjToCell

history

Project history and usage

H3 is Uber's hexagonal hierarchical geospatial indexing system, implemented as a C core library with command-line tools and bindings across data platforms and programming languages. It is important in package ecosystems because it turns latitude/longitude data into stable cell IDs that can be joined, aggregated, visualized, and exchanged without carrying heavy GIS machinery into every project.

Project history

Uber created H3 to support marketplace analysis, pricing, dispatch optimization, and spatial visualization at city scale. The public repository was created in December 2017, and Uber's engineering blog announced that H3 had been open sourced on GitHub and that JavaScript bindings had also been opened.

The H3 design combines a global hexagonal grid with a hierarchical index. Official documentation describes a discrete global grid system developed at Uber, with cells that can represent points and shapes, aggregate datasets at different resolutions, and support algorithms such as nearest neighbors, shortest paths, and smoothing.

The C library became the stable core, while Java, JavaScript, Python, and other bindings made the grid usable from application, analytics, and database workflows. The documentation's bindings page records the broader ecosystem, including cloud data warehouses, PostgreSQL, Spark-style analytics, and language bindings maintained by Uber and the community.

Version 4.0.0 in 2022 introduced breaking API changes around terminology, error handling, and more consistent function names, while preserving the grid layout and index interpretation across 3.x and 4.x. Later 4.x releases continued to add functions and improve algorithms while keeping the core index model stable.

Adoption history

H3 adoption began with Uber's internal marketplace analytics and spread through open-source bindings and data-platform integrations. The Uber blog describes H3 as used throughout Uber for quantitative marketplace analysis, and the H3 site positions it for joining disparate datasets and aggregating at different precision levels.

Package-manager adoption reflects two audiences: developers who want the C CLI/library through Homebrew, MacPorts, Nix, or Linux packages, and data users who install bindings such as h3-py, h3-js, h3-java, PostgreSQL extensions, or warehouse functions. That split made H3 both a systems package and a data-analysis primitive.

How it is used

The CLI examples convert latitude and longitude into a cell ID with `latLngToCell`, inspect boundaries with `cellToBoundary`, and operate on grid neighborhoods. Library users commonly index events, points, or polygons into cells, aggregate by resolution, compact or uncompact cell sets, find neighboring cells, and exchange indexes as 64-bit integers or hexadecimal strings.

Because the grid has fixed resolutions and a globally meaningful index, H3 is used for spatial joins, heatmaps, regional rollups, mobility analysis, delivery and dispatch models, and analytic tables where a cell ID can be a normal join key.

Why package nerds care

H3 is a package-nerd favorite because a relatively small C library and CLI unlock a large ecosystem of geospatial workflows. It lets packages expose geospatial indexing through ordinary scalar values, which is much easier to package, bind, test, and move between languages than a full GIS stack.

The 4.0 migration is also historically important: the project took the pain of API renaming and error-return cleanup while documenting that existing H3 indexes and grid layout remained compatible. That distinction matters for package upgrades because stored H3 IDs can outlive a language binding or library major version.

Timeline

  • 2017: Public H3 repository created.
  • 2018: Uber engineering blog described H3, its marketplace use, GitHub release, and JavaScript bindings.
  • 2018: 3.x releases expanded local IJ, grid-line, and base-cell functions.
  • 2020: 3.7.x releases added area and distance functions and packaging/build fixes.
  • 2022: 4.0.0 introduced breaking API changes while preserving grid and index compatibility.
  • 2024: 4.2.0 release added an experimental memory-efficient polygon-to-cells algorithm and an `h3` binary for shell-script use.
  • 2025: 4.4.x releases added index-inspection and cell-construction functions.

Related projects

  • Related projects include S2 Geometry, h3-js, h3-java, h3-py, PostgreSQL H3 extensions, BigQuery and warehouse integrations, GIS systems, and spatial analytics platforms that use H3 cells as join and aggregation keys.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
cellToBoundarycliglobal executable
cellToBoundaryHiercliglobal executable
cellToLatLngcliglobal executable
cellToLatLngHiercliglobal executable
cellToLocalIjcliglobal executable
gridDiskcliglobal executable
gridDiskUnsafecliglobal executable
h3cliglobal executable
h3ToComponentscliglobal executable
h3ToHiercliglobal executable
latLngToCellcliglobal executable
localIjToCellcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version4.5.0
manager updated2026-05-22
local dataok
upstreamcurrent
latest detectedv4.5.0

https://github.com/uber/h3

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:h3
Version4.5.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/h3
Homepagehttps://uber.github.io/h3/
Repositoryhttps://github.com/uber/h3
Upstream docshttps://github.com/uber/h3#readme
LicenseApache-2.0
Source archivehttps://github.com/uber/h3/archive/refs/tags/v4.5.0.tar.gz
Last updated2026-05-22T01:59:05Z
Pulseupdated
Build dependenciescmake
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameh3
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

h3

nix profile install nixpkgs#h3
  • normalized package name match
  • Matched by: H3
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: h3 from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
dnf95%

h3 4.4.1-2.fc44

Hexagonal hierarchical geospatial indexing system

https://github.com/uber/h3

sudo dnf install h3
  • License: Apache-2.0
  • Category: Unspecified
  • Architecture: i686
  • Source Package: h3
  • 4 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: H3
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: h3 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
dnf95%

h3-devel 4.4.1-2.fc44

Development files for h3

https://github.com/uber/h3

sudo dnf install h3-devel
  • License: Apache-2.0
  • Category: Unspecified
  • Architecture: i686
  • Source Package: h3
  • 5 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: H3
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: h3-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
MacPorts95%

h3

sudo port install h3
  • normalized package name match
  • Matched by: H3
MacPorts ports tree · api.github.com · MacPorts ports tree: gis/h3/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Combined YAML source

View the package source record on GitHub.

combined/h3.yml

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment