{"adoption": {"forks": 118, "observed_at": "2026-08-28T04:05:10.413406+00:00", "stars": 1606}, "canonical_url": "https://ross.abutalabs.com/products/rust-peg", "card": {"archived": false, "artifact_type": "library", "description": "Parsing Expression Grammar (PEG) parser generator for Rust", "domain": ["parsers", "programming-languages", "developer-tools"], "enriched": true, "function": ["parser", "compiler"], "health_score": 86, "homepage": "https://crates.io/crates/peg", "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["kevinmehall/rust-peg"], "name": "kevinmehall/rust-peg", "platform": ["rust"], "pushed_at": "2026-05-04T21:01:19+00:00", "repo": "kevinmehall/rust-peg", "stars": 1606, "tags": ["peg", "parser-generator", "proc-macro", "recursive-descent", "grammar"], "topics": ["parsing-expression-grammars", "peg", "rust", "grammar", "parsing", "parser-generator"], "urls": [], "use_cases": ["write a parser for a custom DSL in Rust", "parse structured text like config or data formats", "build an expression parser with operator precedence", "parse token sequences or byte arrays", "generate a recursive descent parser from a grammar"], "what_it_is": "rust-peg is a Parsing Expression Grammar (PEG) parser generator for Rust, provided as a proc macro that builds a recursive descent parser from a grammar definition. It supports parsing &str, &[u8], &[T], and custom input types, with precedence climbing, parameterized rules, and customizable error reporting.", "when_to_avoid": ["you need streaming input", "you want grammar definitions in separate files like pest", "you need LR(1) parsing power for ambiguous grammars", "you're parsing binary data with combinators and nom fits better"], "when_to_choose": ["you want grammar and action code together in one Rust macro", "you need precedence climbing for infix/prefix/postfix expressions", "you want parameterized rules and custom input types", "you prefer PEG semantics over LR or combinator parsing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rust-peg", "repo": "kevinmehall/rust-peg", "role": "main", "score": 74}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "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:05:10.413406+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.413406+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:52:14.360997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7e81e63ceeb4f8d41421605bd35388cd6b783390ef4fdc8d8db84a1fb272d610", "fetched_at": "2026-08-28T04:05:10.413406+00:00", "kind": "readme", "missing": false, "url": "https://github.com/kevinmehall/rust-peg"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 80, "longevity": 100, "rhythm": 50}, "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": 4763, "days_push": 121, "days_rel": 121, "gap_med": 428, "n_releases_24m": 2}, "score": 74, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}