{"adoption": {"forks": 416, "observed_at": "2026-08-28T04:07:32.689849+00:00", "stars": 2969}, "canonical_url": "https://ross.abutalabs.com/products/unitsnet", "card": {"archived": false, "artifact_type": "library", "description": "Makes life working with units of measurement just a little bit better.", "domain": ["developer-tools", "cross-platform"], "enriched": true, "function": ["serialization", "parser", "sdk"], "health_score": 97, "homepage": "https://www.nuget.org/packages/UnitsNet/", "language": "C#", "license": "MIT-0", "license_family": "permissive", "maturity": "stable", "member_repos": ["angularsen/UnitsNet"], "name": "angularsen/UnitsNet", "platform": ["dotnet", "cross-platform", "windows"], "pushed_at": "2026-08-02T23:35:04+00:00", "repo": "angularsen/UnitsNet", "stars": 2969, "tags": ["units-of-measure", "unit-conversion", "quantities", "csharp", "nuget", "measurement", "localization", "algorithms", "linux", "macos"], "topics": ["conversion", "units-of-measure", "units", "powershell", "csharp", "quantities", "unit-converter", "abbreviations", "parse", "quantity", "converter", "unit", "measure", "measures", "measurement", "measurements"], "urls": [], "use_cases": ["convert between units of measurement in C#", "parse unit strings like '5 m/s' into typed quantities", "avoid magic constants for units in .NET code", "build a unit converter app", "serialize quantities to JSON or XML", "localize unit abbreviations by culture"], "what_it_is": "Units.NET is a .NET library providing strongly typed quantities and units of measurement with unit conversion, parsing, and localization support. It eliminates magic constants by letting code work with typed quantities like Length and Mass across hundreds of units.", "when_to_avoid": ["your project is not on .NET (though sibling ports exist for other platforms)", "you only need one-off conversions a simple formula can handle", "you need a modular build with only a few units and can't use the experimental UnitsNet.Modular"], "when_to_choose": ["you write .NET/C# code dealing with physical quantities or measurements", "you need strongly typed units with operator overloads and culture-aware parsing", "you want a mature, widely used MIT-licensed library on NuGet"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/unitsnet", "repo": "angularsen/UnitsNet", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "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:07:32.689849+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.689849+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:31:45.001749+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f77fa44c70a0340ede6f7e7b90f8a4bdc158ceb45dfaaba03159031d588f831", "fetched_at": "2026-08-28T04:07:32.689849+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angularsen/UnitsNet"}, {"content_hash": "402ac1d4d29529ec983e7b50dfd743e7b0c4efcc1cea209844eeb7b09f701ecb", "fetched_at": "2026-08-29T09:47:03.011859+00:00", "kind": "homepage", "missing": false, "url": "https://www.nuget.org/packages/UnitsNet/"}, {"content_hash": "a113b8a074c9ed3ea4bc386ac5bddb010e25c103e512c19a7a82c029ec8f9a7c", "fetched_at": "2026-08-29T09:47:03.022173+00:00", "kind": "site_page", "missing": false, "url": "https://www.nuget.org/policies/About"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 93}, "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": 4793, "days_push": 31, "days_rel": 47, "gap_med": 11, "n_releases_24m": 18}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}