{"adoption": {"forks": 179, "observed_at": "2026-09-01T02:13:58.401230+00:00", "stars": 1127}, "canonical_url": "https://ross.abutalabs.com/products/python-elgato-streamdeck", "card": {"archived": false, "artifact_type": "library", "description": "Python library to control the Elgato Stream Deck.", "domain": ["developer-tools", "hardware"], "enriched": true, "function": ["sdk", "gui"], "health_score": 80, "homepage": null, "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["abcminiuser/python-elgato-streamdeck"], "name": "abcminiuser/python-elgato-streamdeck", "platform": ["python", "cross-platform"], "pushed_at": "2026-08-30T07:44:02+00:00", "repo": "abcminiuser/python-elgato-streamdeck", "stars": 1127, "tags": ["elgato-stream-deck", "hid-devices", "stream-deck", "usb-hid", "hardware-control", "hardware", "automation"], "topics": ["python-library", "streamdeck"], "urls": [], "use_cases": ["control an Elgato Stream Deck from Python", "build a custom front-end for my Stream Deck buttons", "use Stream Deck for home automation controls without the official app", "read button presses from a Stream Deck Pedal", "set custom images on Stream Deck keys programmatically", "integrate Stream Deck hardware into my own Python application"], "what_it_is": "A Python 3 library for controlling Elgato Stream Deck hardware directly, without the official software. It supports enumerating devices, setting button images and brightness, and reading button states across many Stream Deck models.", "when_to_avoid": ["you just want a ready-made button dashboard with no coding", "you need a GUI application rather than a library", "you use a Stream Deck model not listed as supported"], "when_to_choose": ["you want to program Stream Deck hardware in Python without the official Elgato software", "you need low-level control over button images, brightness, and button state events", "you want to integrate Stream Deck devices into custom automation or control front-ends"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-elgato-streamdeck", "repo": "abcminiuser/python-elgato-streamdeck", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.401230+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:39:11.210750+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9db729f6e367b8460271ae7b27aad4ecc464ea5467728b6e35edb30c8afb4d45", "fetched_at": "2026-09-01T02:13:58.401230+00:00", "kind": "readme", "missing": false, "url": "https://github.com/abcminiuser/python-elgato-streamdeck"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3161, "days_push": 3, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}