{"adoption": {"forks": 107, "observed_at": "2026-08-28T04:05:43.530168+00:00", "stars": 1847}, "canonical_url": "https://ross.abutalabs.com/products/ios-twitter-image-pipeline", "card": {"archived": false, "artifact_type": "library", "description": "Twitter Image Pipeline is a robust and performant image loading and caching framework for iOS clients", "domain": ["mobile-development", "image-processing"], "enriched": true, "function": ["image-processing", "caching", "http-client"], "health_score": 20, "homepage": null, "language": "C", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["twitter/ios-twitter-image-pipeline"], "name": "twitter/ios-twitter-image-pipeline", "platform": [], "pushed_at": "2024-01-26T09:36:22+00:00", "repo": "twitter/ios-twitter-image-pipeline", "stars": 1847, "tags": ["image-loading", "image-cache", "progressive-jpeg", "objective-c", "swift", "ios", "mobile"], "topics": ["image-pipeline", "ios", "swift", "objective-c", "twitter", "cache"], "urls": [], "use_cases": ["load images efficiently in an iOS app", "cache images on disk and memory on iOS", "render progressive JPEGs as they download", "resume partially downloaded images", "avoid redundant network fetches for uploaded images", "serve cached image variants at different sizes"], "what_it_is": "Twitter Image Pipeline (TIP) is an iOS framework for fetching, decoding, and caching images with in-memory and on-disk caches. It supports progressive JPEG rendering, resumable downloads, and intelligent cache variant management.", "when_to_avoid": ["building for Android or cross-platform targets", "you need a Swift-first modern library with active community development", "your image loading needs are simple enough for SDWebImage or Kingfisher"], "when_to_choose": ["building an iOS app with heavy image feeds like timelines or galleries", "you need progressive JPEG and resumable image downloads", "you want a battle-tested image pipeline from a major app"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ios-twitter-image-pipeline", "repo": "twitter/ios-twitter-image-pipeline", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "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.530168+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:43.530168+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:17:51.462167+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "20c28af1327e816510a5aa440828b5c2fb0e03f8ddef5edbf21318afdda0ae8f", "fetched_at": "2026-08-28T04:05:43.530168+00:00", "kind": "readme", "missing": false, "url": "https://github.com/twitter/ios-twitter-image-pipeline"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3506, "days_push": 950, "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}}