{"adoption": {"forks": 88, "observed_at": "2026-08-28T04:03:49.801716+00:00", "stars": 1164}, "canonical_url": "https://ross.abutalabs.com/products/lyft-mapper", "card": {"archived": true, "artifact_type": "library", "description": "A JSON deserialization library for Swift", "domain": ["developer-tools", "mobile-development", "apis"], "enriched": true, "function": ["serialization", "parser"], "health_score": 10, "homepage": null, "language": "Swift", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["lyft/mapper"], "name": "lyft/mapper", "platform": [], "pushed_at": "2024-05-17T01:37:34+00:00", "repo": "lyft/mapper", "stars": 1164, "tags": ["json-deserialization", "swift", "model-mapping", "immutable-models", "cocoapods", "carthage", "ios", "mobile"], "topics": ["lyft"], "urls": [], "use_cases": ["deserialize json api responses into swift structs", "map json to model objects in ios app", "parse json with immutable properties in swift", "convert nested json into typed swift objects", "handle optional json fields in swift models", "custom json field transformations in swift"], "what_it_is": "Mapper is a Swift library for deserializing JSON into strongly typed Swift objects via a Mappable protocol. It supports immutable properties, optional fields, nested objects, enums, and custom transformations.", "when_to_avoid": ["you can rely on Swift's built-in Codable instead", "you need serialization back to JSON, not just deserialization", "your project is not Swift/iOS"], "when_to_choose": ["you want simple, lightweight json-to-model mapping in Swift", "you need immutable model properties after deserialization", "you prefer protocol-based mapping over key-path codables"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/lyft-mapper", "repo": "lyft/mapper", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "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:03:49.801716+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:49.801716+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:31:29.873217+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "82cf7cf6ea0a97b95d6a5b2393e15907c504f1969f906b835fb6e1c8c2a4bf62", "fetched_at": "2026-08-28T04:03:49.801716+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lyft/mapper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3968, "days_push": 839, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}