{"adoption": {"forks": 677, "observed_at": "2026-08-28T04:08:40.527792+00:00", "stars": 4256}, "canonical_url": "https://ross.abutalabs.com/products/handyjson", "card": {"archived": false, "artifact_type": "library", "description": "A handy swift json-object serialization/deserialization library", "domain": ["mobile-development", "developer-tools"], "enriched": true, "function": ["serialization"], "health_score": 20, "homepage": null, "language": "Swift", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["alibaba/HandyJSON"], "name": "alibaba/HandyJSON", "platform": [], "pushed_at": "2024-03-08T11:30:52+00:00", "repo": "alibaba/HandyJSON", "stars": 4256, "tags": ["-mapping", "reflection", "model-serialization", "cocoapods", "carthage", "ios", "swift", "mobile"], "topics": ["swift", "json", "serialization", "json-fields", "deserialization", "mapping"], "urls": [], "use_cases": ["deserialize  into swift structs and classes", "convert model objects to  strings", "map  fields to swift properties without NSObject inheritance", "parse  api responses into typed models", "serialize swift objects with optional and enum properties to"], "what_it_is": "HandyJSON is a Swift library for serializing and deserializing JSON to and from model objects (pure classes and structs) on iOS. It uses runtime memory layout reflection instead of KVC or manual mapping functions, so models don't need to inherit from NSObject.", "when_to_avoid": ["you want a library guaranteed safe against future Swift runtime memory layout changes", "you prefer Codable, the standard Swift approach", "you target platforms other than iOS/macOS with Swift"], "when_to_choose": ["you want  mapping without NSObject subclasses or boilerplate mapping code", "you need to serialize/deserialize pure Swift classes and structs on iOS", "you work with legacy Swift codebases already using HandyJSON"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/handyjson", "repo": "alibaba/HandyJSON", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "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:08:40.527792+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:40.527792+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:07.897418+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6e07691e93f03ef8d2d9b0b11bb18715da82fdde78aa6470ad52a0701be560b5", "fetched_at": "2026-08-28T04:08:40.527792+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/HandyJSON"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3635, "days_push": 908, "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}}