{"adoption": {"forks": 209, "observed_at": "2026-08-28T04:04:57.660338+00:00", "stars": 1520}, "canonical_url": "https://ross.abutalabs.com/products/dgreif-ring", "card": {"archived": false, "artifact_type": "library", "description": "Unofficial packages for Ring Doorbells, Cameras, Alarm System, and Smart Lighting", "domain": ["iot", "developer-tools"], "enriched": true, "function": ["sdk", "workflow-automation", "plugin-system"], "health_score": 96, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dgreif/ring"], "name": "dgreif/ring", "platform": ["self-hosted", "cross-platform"], "pushed_at": "2026-08-20T11:55:47+00:00", "repo": "dgreif/ring", "stars": 1520, "tags": ["ring", "homebridge", "homekit", "smart-home", "unofficial-api", "typescript", "doorbell", "camera", "alarm-system", "automation", "nodejs"], "topics": ["homebridge-plugin", "ring", "alarm", "homebridge", "homekit"], "urls": [], "use_cases": ["integrate Ring cameras into Apple HomeKit", "control Ring alarm system programmatically", "build custom apps using Ring's API", "automate Ring smart lighting", "view Ring doorbell video streams in HomeKit", "monitor Ring devices from a home automation setup"], "what_it_is": "Unofficial TypeScript packages for interacting with Ring doorbells, cameras, alarm systems, and smart lighting. It includes ring-client-api for developers building custom integrations and homebridge-ring for integrating Ring products into Apple HomeKit via Homebridge.", "when_to_avoid": ["you need official support or guaranteed API stability", "you don't use Node.js or Homebridge", "you need a polished consumer app rather than a developer library"], "when_to_choose": ["you want Ring devices in Apple HomeKit via Homebridge", "you're a Node.js/TypeScript developer building custom Ring integrations", "you need unofficial programmatic access to Ring devices"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dgreif-ring", "repo": "dgreif/ring", "role": "main", "score": 88}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "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:57.660338+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.660338+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:54.209006+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "98502f65759804c0c7a3efd95228c0f6cd84cbacf1607cb8633671c3ff46ce8c", "fetched_at": "2026-08-28T04:04:57.660338+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dgreif/ring"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 69}, "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": 2882, "days_push": 13, "days_rel": 206, "gap_med": 0, "n_releases_24m": 14}, "score": 88, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}