{"adoption": {"forks": 140, "observed_at": "2026-09-01T02:14:05.296705+00:00", "stars": 1055}, "canonical_url": "https://ross.abutalabs.com/products/units", "card": {"archived": false, "artifact_type": "library", "description": "a compile-time, header-only, dimensional analysis and unit conversion library built on c++14 with no dependencies.", "domain": ["developer-tools", "simulation", "cross-platform"], "enriched": true, "function": ["serialization", "math", "developer-tools"], "health_score": 100, "homepage": "http://nholthaus.github.io/units/", "language": "C++", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["nholthaus/units"], "name": "nholthaus/units", "platform": ["cpp", "cross-platform", "windows"], "pushed_at": "2026-08-31T18:02:16+00:00", "repo": "nholthaus/units", "stars": 1055, "tags": ["units-of-measure", "dimensional-analysis", "unit-conversion", "header-only", "template-metaprogramming", "compile-time", "cpp23", "physical-quantities", "no-dependencies", "algorithms", "linux", "macos"], "topics": ["unit-conversion", "dimensional-analysis", "cpp14", "template-metaprogramming", "compile-time", "header-only", "no-dependencies"], "urls": [], "use_cases": ["convert between units like meters and feet at compile time", "prevent dimensionally inconsistent calculations in physics code", "write quantities with unit literals like 5.0_m", "do dimensional analysis in C++ scientific or engineering code", "avoid unit-mixing bugs in embedded or robotics software", "compute derived quantities like speed from distance and time with type safety"], "what_it_is": "A compile-time, header-only C++23 dimensional-analysis and unit-conversion library with no dependencies. It represents physical quantities as types, so unit conversions are implicit and resolved at compile time while dimensionally inconsistent expressions fail to compile.", "when_to_avoid": ["you need runtime-configurable or user-defined unit systems parsed at runtime", "you work in a language other than C++ or must support pre-C++23 compilers", "you only need simple one-off conversions where a type system is overkill"], "when_to_choose": ["you write C++ and want type-safe physical quantities with zero runtime conversion overhead", "you need a dependency-free, header-only unit library", "you want unit literals and arithmetic that read like handwritten equations", "you need a wide catalog of units and physical constants"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/units", "repo": "nholthaus/units", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:14:05.296705+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:58:39.760729+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5112071d7afe784054b24e00f3246dc27d88aed7010395bb48f2c84b2cfd31a1", "fetched_at": "2026-09-01T02:14:05.296705+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nholthaus/units"}, {"content_hash": "f080bcf51fa545342aeb91be17842eed886738b6e40ec7994373298fbff0418e", "fetched_at": "2026-08-29T13:00:09.272279+00:00", "kind": "homepage", "missing": false, "url": "http://nholthaus.github.io/units/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3869, "days_push": 2, "days_rel": 16, "gap_med": 0, "n_releases_24m": 14}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}