{"adoption": {"forks": 814, "observed_at": "2026-08-28T04:08:38.171374+00:00", "stars": 4175}, "canonical_url": "https://ross.abutalabs.com/products/jsmn", "card": {"archived": false, "artifact_type": "library", "description": "Jsmn is a world fastest JSON parser/tokenizer. This is the official repo replacing the old one at Bitbucket", "domain": ["parsers", "developer-tools", "embedded-systems"], "enriched": true, "function": ["parser", "serialization", "json"], "health_score": 20, "homepage": null, "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["zserge/jsmn"], "name": "zserge/jsmn", "platform": ["c", "cpp", "embedded", "cross-platform"], "pushed_at": "2024-06-09T11:29:26+00:00", "repo": "zserge/jsmn", "stars": 4175, "tags": ["header-only", "zero-copy", "no-heap-allocation", "tokenizer", "c89", "single-header"], "topics": ["json-data", "json-string", "parsing"], "urls": [], "use_cases": ["parse json in c without dynamic memory allocation", "embed a tiny json parser in a microcontroller project", "tokenize json strings with zero-copy semantics", "parse json on avr or arm with minimal footprint", "validate json structure in an embedded firmware", "add json parsing to a c89 codebase with no dependencies"], "what_it_is": "jsmn is a minimalistic, header-only JSON parser/tokenizer written in C89 with no dependencies and no dynamic memory allocation. It produces tokens that point into the original JSON string, enabling zero-copy parsing in resource-constrained environments.", "when_to_avoid": ["you need a full DOM with value extraction by key out of the box", "you require JSON validation with detailed error reporting", "you need support for very large or deeply nested documents without preallocating token arrays", "you want a parser in a higher-level language with richer APIs"], "when_to_choose": ["you need an extremely small, dependency-free JSON parser in C", "your target is resource-limited or embedded and cannot afford heap allocation", "you want a simple tokenizer that points into the original buffer", "portability across x86, ARM, and AVR matters"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jsmn", "repo": "zserge/jsmn", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "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:08:38.171374+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.171374+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:42.735915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b052f4d2110d48b358e7174a4f68d02b1a33930261c6e2e6d446f7903f16459", "fetched_at": "2026-08-28T04:08:38.171374+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zserge/jsmn"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3985, "days_push": 815, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}