{"adoption": {"forks": 524, "observed_at": "2026-08-28T04:06:37.525503+00:00", "stars": 2327}, "canonical_url": "https://ross.abutalabs.com/products/libwdi", "card": {"archived": false, "artifact_type": "library", "description": "Windows Driver Installer library for USB devices ", "domain": ["developer-tools", "windows", "hardware"], "enriched": true, "function": ["sdk", "developer-tools"], "health_score": 46, "homepage": null, "language": "C", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["pbatard/libwdi"], "name": "pbatard/libwdi", "platform": ["windows", "c", "cpp"], "pushed_at": "2025-07-17T15:49:13+00:00", "repo": "pbatard/libwdi", "stars": 2327, "tags": ["usb", "driver-installation", "winusb", "libusb", "inf-generation", "wdi"], "topics": ["usb-devices", "c", "usb", "drivers", "winusb", "libusb-win32", "libusbk", "libusb", "wcid", "driver-installation", "windows"], "urls": [], "use_cases": ["automatically install WinUSB driver for a USB device on Windows", "generate and sign an INF file for a USB device", "embed libusb or WinUSB drivers into an application installer", "install USB serial CDC drivers programmatically", "create a driver installer for ARM64 or x64 USB devices"], "what_it_is": "libwdi is a Windows Driver Installer library for USB devices that automates INF creation, catalog signing, driver file extraction, and driver installation (including UAC elevation). It embeds WinUSB, libusb0.sys, libusbK.sys, or USB CDC drivers in a single library supporting Windows 7 through Windows 11.", "when_to_avoid": ["you target non-Windows platforms (Linux, macOS)", "you need WHQL-certified driver distribution rather than self-signed catalogs", "your device uses a standard class driver already bundled with Windows"], "when_to_choose": ["you need to make a custom USB device usable on Windows without manual driver installation", "you're building a tool like Zadig that installs WinUSB/libusb drivers", "you want automated INF generation and catalog signing for USB drivers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/libwdi", "repo": "pbatard/libwdi", "role": "main", "score": 37}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "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:37.525503+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.525503+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:38:14.436114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "05a4902c62f0d9d82082d4fdb873e9516d22bef2eeca3d861130020606e0d0de", "fetched_at": "2026-08-28T04:06:37.525503+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pbatard/libwdi"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 32, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5167, "days_push": 412, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 37, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}