{"adoption": {"forks": 515, "observed_at": "2026-08-28T04:08:32.588679+00:00", "stars": 4025}, "canonical_url": "https://ross.abutalabs.com/products/pinremoteimage", "card": {"archived": false, "artifact_type": "library", "description": "A thread safe, performant, feature rich image fetcher", "domain": ["mobile-development", "image-processing"], "enriched": true, "function": ["image-processing", "caching", "http-client"], "health_score": 85, "homepage": null, "language": "Objective-C", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["pinterest/PINRemoteImage"], "name": "pinterest/PINRemoteImage", "platform": ["cpp"], "pushed_at": "2026-08-21T22:01:51+00:00", "repo": "pinterest/PINRemoteImage", "stars": 4025, "tags": ["objective-c", "webp", "progressive-jpeg", "gif", "uikit", "cocoapods", "image-downloader", "thread-safe", "ios", "swift"], "topics": ["ios", "objective-c", "image", "webp", "progressive-jpgs", "gifs"], "urls": [], "use_cases": ["download and cache remote images in an iOS app", "load animated GIFs and WebP images in UIImageView", "display progressive JPEGs with a blur while loading on slow networks", "avoid duplicate image downloads when multiple views request the same URL", "decode images off the main thread to keep scrolling smooth", "set images on UIImageView or UIButton from a URL with one line of code"], "what_it_is": "PINRemoteImage is a thread-safe, high-performance image downloading, processing, and caching library for iOS, written in Objective-C. It deduplicates download/processing tasks, decodes images off the main thread, and supports PNG, JPG, WebP, GIFs, animated WebP, and progressive JPEGs with blurred previews.", "when_to_avoid": ["you are building for Android or other non-Apple platforms", "you prefer a pure Swift library like SDWebImage alternatives or Kingfisher", "you need cross-platform (React Native/Flutter) image loading", "your project no longer supports Objective-C dependencies"], "when_to_choose": ["you need a battle-tested, thread-safe image fetcher for an Objective-C or Swift iOS app", "your app displays GIFs, animated WebP, or progressive JPEGs", "you want deduplicated downloads and off-main-thread decoding out of the box", "you need easy UIImageView/UIButton integration via categories"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pinremoteimage", "repo": "pinterest/PINRemoteImage", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "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:32.588679+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:32.588679+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:23:54.476651+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "19b42e5b03c8fc6c35d92c4ff146f75bb3034a6f3ab50258e77334c09ec50a20", "fetched_at": "2026-08-28T04:08:32.588679+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pinterest/PINRemoteImage"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "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": 4060, "days_push": 12, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}