{"adoption": {"forks": 92, "observed_at": "2026-08-28T04:06:27.456150+00:00", "stars": 2220}, "canonical_url": "https://ross.abutalabs.com/products/layout", "card": {"archived": false, "artifact_type": "framework", "description": "A declarative UI framework for iOS", "domain": ["mobile-development", "cross-platform", "developer-tools"], "enriched": true, "function": ["ui-components", "templating", "state-management", "animation"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["nicklockwood/layout"], "name": "nicklockwood/layout", "platform": [], "pushed_at": "2023-01-20T12:47:19+00:00", "repo": "nicklockwood/layout", "stars": 2220, "tags": ["declarative-ui", "xml-templates", "storyboards-replacement", "live-reloading", "runtime-expressions", "ios", "swift", "mobile"], "topics": [], "urls": [], "use_cases": ["build iOS UIs with XML templates instead of storyboards", "live-reload iOS interface layouts while editing", "replace nibs and storyboards with readable declarative files", "bind UI state and actions via runtime expressions in iOS apps", "create custom reusable UI components for iOS"], "what_it_is": "Layout is a native Swift framework for building iOS user interfaces with XML template files and runtime-evaluated expressions. It serves as a drop-in replacement for Nibs and Storyboards, offering human-readable templates and live editing.", "when_to_avoid": ["you are building for platforms other than iOS", "you want a framework with active ongoing development", "you prefer SwiftUI or fully programmatic UIKit layouts"], "when_to_choose": ["you prefer XML templates over Interface Builder storyboards", "you want live editing and reloading of iOS layouts", "your team wants human-readable, diff-friendly UI definitions"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/layout", "repo": "nicklockwood/layout", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "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:06:27.456150+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.456150+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:45:50.773494+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4fc618bb3fc01a516798c7f6c4b1b1d1a021023af0700d993054ea31fd93a4ec", "fetched_at": "2026-08-28T04:06:27.456150+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nicklockwood/layout"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3317, "days_push": 1321, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}