{"adoption": {"forks": 254, "observed_at": "2026-08-28T04:07:21.941644+00:00", "stars": 2787}, "canonical_url": "https://ross.abutalabs.com/products/uhubctl", "card": {"archived": false, "artifact_type": "cli-tool", "description": "uhubctl - USB hub per-port power control", "domain": ["developer-tools", "hardware"], "enriched": true, "function": ["cli", "developer-tools"], "health_score": 85, "homepage": null, "language": "C", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["mvp/uhubctl"], "name": "mvp/uhubctl", "platform": ["bsd", "cross-platform", "cli"], "pushed_at": "2026-07-25T23:42:35+00:00", "repo": "mvp/uhubctl", "stars": 2787, "tags": ["usb", "usb-hub", "power-control", "libusb", "per-port-switching", "ppps", "hardware", "command-line", "linux", "macos"], "topics": ["usb", "power", "control", "hub", "c", "libusb", "switching", "port", "ppps", "utility", "disable", "off", "toggle"], "urls": [], "use_cases": ["turn USB port power off and on from the command line", "remotely reset a USB device by power cycling its hub port", "control USB hub port power switching on Linux or macOS", "script USB power toggling for automated device resets", "find which USB hubs support per-port power control", "disable power to a specific USB port"], "what_it_is": "uhubctl is a command-line utility that controls USB power per-port on smart USB hubs that implement per-port power switching. It is written in C using libusb and runs on Linux, macOS, and BSD systems.", "when_to_avoid": ["your USB hub does not implement per-port power switching", "you need a graphical interface for USB power management"], "when_to_choose": ["you need command-line or scripted control of USB port power", "your hub is on the known-compatible list and supports per-port power switching", "you want to power-cycle misbehaving USB devices without unplugging them"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/uhubctl", "repo": "mvp/uhubctl", "role": "main", "score": 65}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "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:07:21.941644+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:21.941644+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:16:00.466497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "46c4ed876259fb86e0f0f2d2cac199f2be094016420f7e2823c2fcb0ef34e633", "fetched_at": "2026-08-28T04:07:21.941644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mvp/uhubctl"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 94, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4256, "days_push": 39, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 65, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}