{"adoption": {"forks": 175, "observed_at": "2026-08-28T04:07:05.201492+00:00", "stars": 2624}, "canonical_url": "https://ross.abutalabs.com/products/maud", "card": {"archived": false, "artifact_type": "library", "description": ":pencil: Compile-time HTML templates for Rust", "domain": ["web-development", "frontend"], "enriched": true, "function": ["templating", "web-framework"], "health_score": 81, "homepage": "https://maud.lambda.xyz", "language": "Rust", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["lambda-fairy/maud"], "name": "lambda-fairy/maud", "platform": ["rust"], "pushed_at": "2026-05-25T11:45:34+00:00", "repo": "lambda-fairy/maud", "stars": 2624, "tags": ["html-templates", "proc-macro", "compile-time", "type-safe", "actix", "rocket"], "topics": ["rust", "template-engine", "macro"], "urls": [], "use_cases": ["generate html from rust code", "type-safe html templating in rust", "server-side rendering for actix or rocket", "avoid separate template files in a rust web app", "fast html generation with minimal runtime overhead"], "what_it_is": "Maud is a compile-time HTML template engine for Rust, implemented as a procedural macro (html!) that generates specialized Rust code. Templates are type-checked by the compiler, fast at runtime, and require no separate template files.", "when_to_avoid": ["you need designer-editable template files or a designer-friendly syntax like Jinja or Handlebars", "you need context-aware escaping out of the box", "your team prefers hot-reloadable templates without recompilation"], "when_to_choose": ["you want compile-time-checked templates with no runtime template parsing", "you prefer writing markup in Rust syntax with full access to Rust control flow", "you want simple deployment with templates linked into the binary"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/maud", "repo": "lambda-fairy/maud", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "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:05.201492+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:05.201492+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:19:53.273550+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0fce961636f0011184626dde0b9bb3ed83677d55b38f3a8b74b9f0de4a791b44", "fetched_at": "2026-08-28T04:07:05.201492+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lambda-fairy/maud"}, {"content_hash": "ce150baab5600c0628526579f2b14e6a9f34319c75efb7a00028881ff9b57f20", "fetched_at": "2026-08-29T10:02:53.443087+00:00", "kind": "homepage", "missing": false, "url": "https://maud.lambda.xyz"}, {"content_hash": "9d821d9536783ef529f6c436b191db460aa36fc8b7d3f49eed8f2ac93057b768", "fetched_at": "2026-08-29T10:02:53.452394+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/getting-started.html"}, {"content_hash": "61a7187dc29094cba07f0393617f45bfbfad2b62c3aa9d5315f838d41d952503", "fetched_at": "2026-08-29T10:02:53.455951+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/maud"}, {"content_hash": "3f682b2419d544efc885b2cb3bb7b9fec4a564b0ebd32058d4b799971b3122a1", "fetched_at": "2026-08-29T10:02:53.454143+00:00", "kind": "site_page", "missing": false, "url": "https://maud.lambda.xyz/faq.html"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "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": 4277, "days_push": 100, "days_rel": 577, "gap_med": null, "n_releases_24m": 1}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}