{"adoption": {"forks": 102, "observed_at": "2026-08-28T04:05:43.521827+00:00", "stars": 1847}, "canonical_url": "https://ross.abutalabs.com/products/tomsmorphinglabel", "card": {"archived": false, "artifact_type": "library", "description": "Configurable morphing transitions between text values of a label.", "domain": ["mobile-development", "frontend"], "enriched": true, "function": ["animation", "ui-components"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["tomknig/TOMSMorphingLabel"], "name": "tomknig/TOMSMorphingLabel", "platform": [], "pushed_at": "2021-08-16T22:41:08+00:00", "repo": "tomknig/TOMSMorphingLabel", "stars": 1847, "tags": ["uilabel", "objective-c", "cocoapods", "text-animation", "morphing", "ios", "mobile", "swift"], "topics": [], "urls": [], "use_cases": ["animate text changes in a UILabel", "morphing text transition between label values", "animated counter or ticker label on iOS", "smooth text swap animation in an iOS app", "UILabel subclass with character morph effects"], "what_it_is": "An Objective-C UILabel subclass for iOS that animates morphing transitions between text values whenever the text property changes. Transition appearance is configurable via properties like animation duration, character shrink factor, and character animation offset.", "when_to_avoid": ["you are building for Android, web, or non-Apple platforms", "you need SwiftUI-native or modern Swift-first animation APIs", "the project requires actively maintained dependencies, as the last release was in 2021"], "when_to_choose": ["you need drop-in animated text transitions on a UILabel in an iOS app", "you want configurable, lightweight text morphing without heavy dependencies", "you need completion callbacks when a text animation finishes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tomsmorphinglabel", "repo": "tomknig/TOMSMorphingLabel", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "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:05:43.521827+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.521827+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.370164+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "368080438a3755cf9aefbecdac708803d699c5a9128a49167dbbcef6488863b3", "fetched_at": "2026-08-28T04:05:43.521827+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tomknig/TOMSMorphingLabel"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4460, "days_push": 1843, "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}}