{"adoption": {"forks": 192, "observed_at": "2026-08-28T04:07:28.677355+00:00", "stars": 2895}, "canonical_url": "https://ross.abutalabs.com/products/factory", "card": {"archived": false, "artifact_type": "library", "description": "A modern approach to Container-Based Dependency Injection for Swift and SwiftUI.", "domain": ["mobile-development", "developer-tools", "cross-platform"], "enriched": true, "function": ["middleware", "developer-tools", "testing"], "health_score": 98, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hmlongco/Factory"], "name": "hmlongco/Factory", "platform": [], "pushed_at": "2026-08-11T00:28:59+00:00", "repo": "hmlongco/Factory", "stars": 2895, "tags": ["dependency-injection", "swiftui", "service-locator", "containers", "mvvm", "swift", "ios", "macos"], "topics": ["container", "dependency-injection", "ios", "swift", "swiftui", "xcode"], "urls": [], "use_cases": ["dependency injection in swiftui apps", "replace storyboard singletons with injectable services", "unit test view models with mocked dependencies", "swiftui preview with mock services", "manage service lifetimes with scopes", "ios mvvm architecture with injected dependencies"], "what_it_is": "Factory is a lightweight, compile-time safe dependency injection library for Swift and SwiftUI, built around container-based factory registrations. It supports scopes, parameters, contexts, and easy testing with minimal setup and no code generation.", "when_to_avoid": ["you need dependency injection on non-Apple platforms", "you prefer purely constructor-based injection without a container", "your team standardizes on a different DI framework already"], "when_to_choose": ["you want a lightweight DI solution with no build scripts or code generation", "your project uses SwiftUI or UIKit on Apple platforms", "you need compile-time safety for service resolution", "you want fast resolution and easy testability"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/factory", "repo": "hmlongco/Factory", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "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:28.677355+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:28.677355+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:35:16.338435+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94778d3f647dc34e8eda111245aef0ba0e552186ad6596f711900a669e0a579a", "fetched_at": "2026-08-28T04:07:28.677355+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hmlongco/Factory"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "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": 1554, "days_push": 23, "days_rel": 49, "gap_med": 3.0, "n_releases_24m": 29}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}