{"adoption": {"forks": 79, "observed_at": "2026-08-28T04:04:29.273278+00:00", "stars": 1356}, "canonical_url": "https://ross.abutalabs.com/products/tweenkit", "card": {"archived": false, "artifact_type": "library", "description": "Animation library for iOS in Swift", "domain": ["mobile-development", "frontend"], "enriched": true, "function": ["animation"], "health_score": 20, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["SteveBarnegren/TweenKit"], "name": "SteveBarnegren/TweenKit", "platform": [], "pushed_at": "2020-09-28T21:35:44+00:00", "repo": "SteveBarnegren/TweenKit", "stars": 1356, "tags": ["tweening", "uiview", "onboarding", "scrubbable-animations", "cocoapods", "easing", "ios", "swift", "mobile"], "topics": ["ios", "animation", "tween", "tweening", "uiview", "onboarding", "swift", "bezier"], "urls": [], "use_cases": ["animate uiview properties in ios with swift", "build scrubbable onboarding animations", "chain and group tween animations", "interpolate between cgrect or uicolor values", "create reversible and repeatable animations"], "what_it_is": "TweenKit is a Swift animation library for iOS that lets you tween any value conforming to the Tweenable protocol, with support for reversible, repeatable, groupable, and sequenceable animations. Its scrubbable animations make it well suited for building interactive onboarding experiences.", "when_to_avoid": ["your project targets platforms other than iOS", "you only need simple view animations that UIKit's built-in animation APIs already cover", "you need a library with recent active development and maintenance"], "when_to_choose": ["you need to tween arbitrary values or custom properties beyond what UIKit animation offers", "you want scrubbable animations for interactive onboarding flows", "you need composable animation actions that can be grouped and sequenced"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tweenkit", "repo": "SteveBarnegren/TweenKit", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "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:29.273278+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.273278+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:53.059984+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "333b3adfb551bf4e7f0d473ad7ffa121365c41fc6753f3335e28decbca0dddf1", "fetched_at": "2026-08-28T04:04:29.273278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/SteveBarnegren/TweenKit"}], "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": 3456, "days_push": 2165, "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}}