{"adoption": {"forks": 2766, "observed_at": "2026-08-28T04:11:37.079718+00:00", "stars": 24395}, "canonical_url": "https://ross.abutalabs.com/products/kingfisher", "card": {"archived": false, "artifact_type": "library", "description": "A lightweight, pure-Swift library for downloading and caching images from the web.", "domain": ["mobile-development", "frontend", "media"], "enriched": true, "function": ["caching", "image-processing", "http-client"], "health_score": 100, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["onevcat/Kingfisher"], "name": "onevcat/Kingfisher", "platform": ["cross-platform"], "pushed_at": "2026-08-25T15:09:33+00:00", "repo": "onevcat/Kingfisher", "stars": 24395, "tags": ["swift", "image-downloading", "swiftui", "uikit", "memory-cache", "disk-cache", "ios", "macos"], "topics": ["swift", "kingfisher", "image", "cache", "filters", "image-processor", "xcode", "ios", "macos"], "urls": [], "use_cases": ["download and cache images from urls in an ios app", "load remote images into uiimageview with placeholder and transition", "cache images to memory and disk with expiration and size limits", "display remote images in swiftui with kfimage", "apply filters and processors to downloaded images", "prefetch images for collection views to improve scroll performance"], "what_it_is": "Kingfisher is a pure-Swift library for asynchronously downloading and caching remote images, with a multi-layer memory and disk cache and built-in image processors. It provides convenient extensions for UIImageView, UIButton, SwiftUI views, and more to set images from URLs with transitions and placeholders.", "when_to_avoid": ["you are not developing in Swift or on Apple platforms", "you only need a plain HTTP client without image-specific caching", "you need image loading for Android or web frontends"], "when_to_choose": ["you are building an iOS, macOS, or SwiftUI app that displays many remote images", "you need a battle-tested image loading and caching solution with fine cache control", "you want built-in image processing, prefetching, and transition animations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kingfisher", "repo": "onevcat/Kingfisher", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "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:11:37.079718+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:37.079718+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:56:14.223471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b116222e170afa2ed75be8b8700cfd2ac90e253d82ded47032d0bab13abc13cc", "fetched_at": "2026-08-28T04:11:37.079718+00:00", "kind": "readme", "missing": false, "url": "https://github.com/onevcat/Kingfisher"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 99}, "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": 4167, "days_push": 8, "days_rel": 8, "gap_med": 22, "n_releases_24m": 26}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}