{"adoption": {"forks": 201, "observed_at": "2026-08-28T04:06:33.434297+00:00", "stars": 2276}, "canonical_url": "https://ross.abutalabs.com/products/apngkit", "card": {"archived": false, "artifact_type": "library", "description": "High performance and delightful way to play with APNG format in iOS.", "domain": ["image-processing", "mobile-development", "graphics"], "enriched": true, "function": ["image-processing", "animation", "ui-components"], "health_score": 92, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["onevcat/APNGKit"], "name": "onevcat/APNGKit", "platform": [], "pushed_at": "2026-06-22T15:03:53+00:00", "repo": "onevcat/APNGKit", "stars": 2276, "tags": ["apng", "animated-images", "swift-package", "cocoapods", "ios", "macos", "swift"], "topics": ["apng", "apng-image", "swift"], "urls": [], "use_cases": ["display animated png images in an ios app", "play apng animations with transparency on macos", "replace animated gifs with higher quality apng", "decode apng files in swift", "show animated images with 24-bit color in an apple app"], "what_it_is": "APNGKit is a high-performance Swift framework for loading, decoding, and displaying Animated PNG (APNG) images on iOS and macOS. It offers a delightful high-level API so developers can play animated PNGs with better quality than GIFs.", "when_to_avoid": ["you only need GIF or WebP animation support", "you target platforms other than Apple's", "you need image editing or encoding rather than display"], "when_to_choose": ["you need high-quality animated images with alpha transparency on iOS or macOS", "you want a simple Swift API for APNG playback", "your assets are APNG and you need performant decoding"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/apngkit", "repo": "onevcat/APNGKit", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "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:06:33.434297+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:33.434297+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:41:28.020020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cd06796d70f6315340442af70cd5af931d6b6514379779849fb4e29918f6b5db", "fetched_at": "2026-08-28T04:06:33.434297+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/APNGKit"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 88, "longevity": 100, "rhythm": 57}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4018, "days_push": 72, "days_rel": 72, "gap_med": null, "n_releases_24m": 1}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}