{"adoption": {"forks": 965, "observed_at": "2026-08-28T04:09:36.157911+00:00", "stars": 6123}, "canonical_url": "https://ross.abutalabs.com/products/valhalla", "card": {"archived": false, "artifact_type": "service", "description": "Open Source Routing Engine for OpenStreetMap", "domain": ["developer-tools", "self-hosted"], "enriched": true, "function": ["routing", "search-engine", "geospatial", "http-server", "api-framework"], "health_score": 100, "homepage": "https://valhalla.github.io/valhalla/", "language": "C++", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["valhalla/valhalla"], "name": "valhalla/valhalla", "platform": ["windows", "cpp", "self-hosted"], "pushed_at": "2026-08-26T19:28:34+00:00", "repo": "valhalla/valhalla", "stars": 6123, "tags": ["openstreetmap", "routing-engine", "directions", "isochrones", "map-matching", "traveling-salesman", "elevation", "dijkstra", "astar", "multi-modal-routing", "maps", "geospatial", "linux", "macos", "docker"], "topics": ["openstreetmap", "dijkstra", "astar", "tiled", "directions", "isochrones", "multi-modal", "traveling-salesman", "routing-engine", "routing"], "urls": [], "use_cases": ["compute driving, walking, or cycling directions from OpenStreetMap data", "generate isochrones showing reachable areas by time or distance", "build a self-hosted alternative to Google Maps routing APIs", "calculate origin-destination time and distance matrices", "match GPS traces to road networks", "solve traveling salesman tour optimization", "sample elevation along a route"], "what_it_is": "Valhalla is an open source routing engine and set of libraries built on OpenStreetMap data, written in C++. It provides turn-by-turn directions, time/distance matrices, isochrones, elevation sampling, map matching, and traveling-salesman tour optimization.", "when_to_avoid": ["you only need simple point-to-point geocoding without routing", "you want a hosted managed service with no infrastructure to run", "you need routing for proprietary map data sources not supported by Valhalla's tooling"], "when_to_choose": ["you need a self-hosted, open source routing engine with permissive MIT licensing", "you want advanced features like isochrones, map matching, and multi-modal routing in one tool", "you work with OpenStreetMap data and need tiled, scalable routing", "you need a high-performance C++ engine with Python bindings"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/valhalla", "repo": "valhalla/valhalla", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:36.157911+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:47:59.947361+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7596ae852d39bd1acfba1c385e1815395b6c191930afcbd61f119c1c9f565c73", "fetched_at": "2026-08-28T04:09:36.157911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/valhalla/valhalla"}, {"content_hash": "33a341eaf1cc886e3ec9e6057e4a396dad5a10566b68057ab9fbd5f6ff09d90c", "fetched_at": "2026-08-29T08:44:31.375039+00:00", "kind": "homepage", "missing": false, "url": "https://valhalla.github.io/valhalla/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 82}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3879, "days_push": 7, "days_rel": 40, "gap_med": 35, "n_releases_24m": 10}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}