{"adoption": {"forks": 498, "observed_at": "2026-08-28T04:04:59.880132+00:00", "stars": 1536}, "canonical_url": "https://ross.abutalabs.com/products/python-broadlink", "card": {"archived": false, "artifact_type": "library", "description": "Python module for controlling Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs", "domain": ["iot", "developer-tools"], "enriched": true, "function": ["sdk", "cli", "developer-tools", "iot"], "health_score": 26, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["mjg59/python-broadlink"], "name": "mjg59/python-broadlink", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2024-08-04T18:25:33+00:00", "repo": "mjg59/python-broadlink", "stars": 1536, "tags": ["broadlink", "smart-home", "home-automation", "universal-remote", "smart-plugs", "local-control", "ir-remote", "rf-remote", "automation"], "topics": [], "urls": [], "use_cases": ["control broadlink smart plugs from python", "learn and send IR codes with broadlink RM4", "discover broadlink devices on local network", "read temperature and humidity from A1 sensor", "control broadlink light bulbs without cloud", "automate broadlink curtain motor", "integrate broadlink devices into home automation"], "what_it_is": "A Python library and CLI for controlling Broadlink smart home devices locally over the network, including universal remotes, smart plugs, sensors, bulbs, and more. It handles device discovery, authentication, and device-specific control commands.", "when_to_avoid": ["you need official cloud API features or remote access outside LAN", "your device model is not in the supported list", "you need a GUI app rather than a library/CLI"], "when_to_choose": ["you want local, cloud-free control of Broadlink devices", "you need programmatic access to Broadlink devices from Python", "you're building home automation integrations (e.g., Home Assistant)", "you need to capture and replay IR/RF remote codes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-broadlink", "repo": "mjg59/python-broadlink", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "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:59.880132+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.880132+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:05.811858+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0a96e189569cba323c2cd876b97d5927d8b52eaee455e6152b52401f0844e74a", "fetched_at": "2026-08-28T04:04:59.880132+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjg59/python-broadlink"}], "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": 3639, "days_push": 759, "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}}