{"adoption": {"forks": 514, "observed_at": "2026-08-28T04:06:34.924185+00:00", "stars": 2291}, "canonical_url": "https://ross.abutalabs.com/products/smartpush", "card": {"archived": false, "artifact_type": "application", "description": "SmartPush,一款iOS苹果远程推送测试程序,Mac OS下的APNS工具APP,iOS Push Notification Debug App", "domain": ["developer-tools", "mobile-development"], "enriched": true, "function": ["developer-tools", "testing"], "health_score": 25, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["shaojiankui/SmartPush"], "name": "shaojiankui/SmartPush", "platform": [], "pushed_at": "2024-02-19T01:26:42+00:00", "repo": "shaojiankui/SmartPush", "stars": 2291, "tags": ["apns", "push-notifications", "objective-c", "debugging", "macos"], "topics": ["apns"], "urls": [], "use_cases": ["test apns push notifications on mac", "debug ios push notification payloads", "send remote push to a device token", "test push certificates sandbox and production", "quickly try apns payload", "verify push notifications without a backend"], "what_it_is": "SmartPush is a macOS desktop application for testing Apple Push Notification service (APNs) deliveries to iOS devices. Built on PushMeBaby, it lets developers load push certificates, enter device tokens, edit payloads, and send notifications to sandbox or production environments.", "when_to_avoid": ["you need automated push testing in CI", "you target FCM or other non-Apple push services", "you need a cross-platform or command-line tool"], "when_to_choose": ["you develop iOS apps and need a simple Mac GUI to send APNs test pushes", "you want to drag in .cer certificates and test sandbox vs production quickly"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/smartpush", "repo": "shaojiankui/SmartPush", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "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:06:34.924185+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:34.924185+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:40:41.204304+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5ce3c4f6ae35674bd0df1f9de81a1308dd4070b2393777b258e0eccf1238526a", "fetched_at": "2026-08-28T04:06:34.924185+00:00", "kind": "readme", "missing": false, "url": "https://github.com/shaojiankui/SmartPush"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 4190, "days_push": 927, "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}}