{"adoption": {"forks": 186, "observed_at": "2026-08-28T04:04:32.368549+00:00", "stars": 1372}, "canonical_url": "https://ross.abutalabs.com/products/apaddressbook", "card": {"archived": false, "artifact_type": "library", "description": "Easy access to iOS address book", "domain": ["mobile-development"], "enriched": true, "function": ["sdk", "file-system"], "health_score": 20, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["Alterplay/APAddressBook"], "name": "Alterplay/APAddressBook", "platform": [], "pushed_at": "2017-11-07T12:20:49+00:00", "repo": "Alterplay/APAddressBook", "stars": 1372, "tags": ["address-book", "contacts", "objective-c", "cocoapods", "carthage", "ios", "mobile", "swift"], "topics": [], "urls": [], "use_cases": ["load contacts from ios address book asynchronously", "read only name and phone number fields from contacts", "filter contacts that have an email address", "sort address book contacts with sort descriptors", "get contact thumbnail photos in an ios app"], "what_it_is": "APAddressBook is an Objective-C wrapper around Apple's AddressBook.framework that simplifies reading contacts from the iOS address book. It supports asynchronous loading, field selection, filtering, sorting, and retrieving contact photos.", "when_to_avoid": ["you are starting a new iOS project - use the modern Contacts framework (CNContactStore) instead", "you need support for iOS 10+ privacy requirements or ongoing maintenance - the library was last released in 2017"], "when_to_choose": ["you maintain a legacy Objective-C iOS app that still uses the deprecated AddressBook.framework", "you need simple asynchronous contact loading with field selection and filtering on iOS 9 or earlier"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/apaddressbook", "repo": "Alterplay/APAddressBook", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "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:32.368549+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:32.368549+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:40:44.167389+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d366a2c1f7bd8548360752a9850cd3bf8f204cd6bb36d11bf893536c56a5dd12", "fetched_at": "2026-08-28T04:04:32.368549+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Alterplay/APAddressBook"}], "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": 4619, "days_push": 3221, "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}}