{"adoption": {"forks": 74, "observed_at": "2026-08-28T04:04:07.284343+00:00", "stars": 1246}, "canonical_url": "https://ross.abutalabs.com/products/sptpersistentcache", "card": {"archived": false, "artifact_type": "library", "description": "Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours.", "domain": ["mobile-development", "developer-tools"], "enriched": true, "function": ["caching", "file-system"], "health_score": 96, "homepage": null, "language": "Objective-C", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["spotify/SPTPersistentCache"], "name": "spotify/SPTPersistentCache", "platform": [], "pushed_at": "2026-07-15T22:36:03+00:00", "repo": "spotify/SPTPersistentCache", "stars": 1246, "tags": ["objective-c", "lru-cache", "disk-cache", "ttl", "cocoapods", "garbage-collection", "ios", "macos"], "topics": [], "urls": [], "use_cases": ["cache images on disk in an iOS app", "persist downloaded data with a time to live", "add an LRU disk cache to an iOS or macOS app", "limit how much disk space cached data uses", "cache remote files without blocking concurrent reads and writes", "inspect and strip cache headers from cached files"], "what_it_is": "SPTPersistentCache is an Objective-C library from Spotify for caching NSData on disk with TTL values and LRU disk-management semantics. It stores each entry as a separate file with a cache header tracking TTL, access frequency, and corruption checks, plus scheduled garbage collection.", "when_to_avoid": ["you need an in-memory-only cache", "your app targets platforms beyond iOS/macOS or uses Swift-only tooling without Objective-C interop", "you need encrypted or compressed caching"], "when_to_choose": ["you need a battle-tested disk cache for NSData in an iOS or macOS app", "you want TTL-based expiry and automatic garbage collection of cached files", "you cache different data types and want separate per-type cache instances"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sptpersistentcache", "repo": "spotify/SPTPersistentCache", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "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:07.284343+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:07.284343+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:08:05.727889+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "085cbd8c185c1863924a1cd41722c48b51ad002135e0f154091038e1694f1d29", "fetched_at": "2026-08-28T04:04:07.284343+00:00", "kind": "readme", "missing": false, "url": "https://github.com/spotify/SPTPersistentCache"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 61}, "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": 3849, "days_push": 49, "days_rel": 49, "gap_med": null, "n_releases_24m": 1}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}