{"adoption": {"forks": 86, "observed_at": "2026-08-28T04:04:55.851554+00:00", "stars": 1510}, "canonical_url": "https://ross.abutalabs.com/products/codextended", "card": {"archived": false, "artifact_type": "library", "description": "Extensions giving Swift's Codable API type inference super powers 🦸‍♂️🦹‍♀️", "domain": ["developer-tools", "programming-languages", "apis"], "enriched": true, "function": ["serialization", "parser"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["JohnSundell/Codextended"], "name": "JohnSundell/Codextended", "platform": [], "pushed_at": "2021-04-11T19:36:14+00:00", "repo": "JohnSundell/Codextended", "stars": 1510, "tags": ["codable", "-parsing", "type-inference", "swift-package-manager", "extensions", "macos", "linux", "swift"], "topics": ["swift", "codable", "json-parsing", "type-inference"], "urls": [], "use_cases": ["decode  into swift types with less boilerplate", "encode swift structs to  in one line", "provide default values for missing keys when decoding", "transform values during decoding", "simplify custom codable implementations", "avoid verbose JSONEncoder/JSONDecoder setup"], "what_it_is": "Codextended is a lightweight Swift library of extensions that augments the built-in Codable API with type inference-powered conveniences. It reduces boilerplate for encoding and decoding values, such as one-liner encode/decode calls and easy key-level customization.", "when_to_avoid": ["you need serialization formats beyond what Codable supports", "you want a full-featured JSON mapping framework with heavy customization", "you need a library with frequent updates and active maintenance"], "when_to_choose": ["you use Swift's Codable and want terser, type-inferred encode/decode calls", "you need lightweight key-level customization without a full serialization framework", "you want a zero-dependency extension layer over Codable on macOS or Linux"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/codextended", "repo": "JohnSundell/Codextended", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "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:04:55.851554+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:55.851554+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:32:24.540011+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "356709a91b15f18d979c062e5dad93222872c8c67b39970d19650b953064d449", "fetched_at": "2026-08-28T04:04:55.851554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JohnSundell/Codextended"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2706, "days_push": 1970, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}