--- id: hidapi version: "0.15.0" license: unclear license_treatment: unclear maintenance: active --- # hidapi — A Cython interface to the hidapi from https://github.com/libusb/hidapi License: unclear · Maintenance: active · Downloads: 1.3M/mo ## What it is and what it does hidapi is a Cython binding to the HIDAPI library, allowing Python code to discover and communicate with USB human interface devices like keyboards, mice, game controllers, and custom hardware. It abstracts platform-specific details of HID communication on Linux, Windows, and macOS into a unified interface. The package has been tested with TREZOR hardware wallets, PIC18F4550 development boards, and weather station devices. Installation requires system-level USB libraries and headers; pre-built wheels are available for Python 3.10, 3.11, 3.12, 3.13, 3.14 across multiple platforms. The library is actively maintained with no known security vulnerabilities. Use it for: - Communicate with TREZOR or other hardware wallets from Python applications - Read sensor data from USB-connected weather stations or environmental monitors - Control custom USB devices or embedded boards from Python - Enumerate and interact with game controllers or input devices - Build cross-platform tools requiring direct USB HID access without OS-specific code ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a Python interface to HIDAPI, enabling communication with USB human interface devices across Linux, Windows, and macOS. Yes, if you need to communicate with USB HID devices from Python. The package is actively maintained, has no known vulnerabilities, and supports Python 3.10–3.14 across Linux, Windows, and macOS. Install friction is moderate due to system library dependencies, but pre-built wheels ease setup. License treatment is unclear—verify LICENSE.txt against your project's requirements before use. ## Install pip install hidapi uv add hidapi poetry add hidapi ## Installing hidapi Before you install: Medium install friction: requires pre-installed system libraries (libusb-1.0-0-dev and libudev-dev on Linux). Actively maintained as of 2026-03-15 with 324 repository stars and no known vulnerabilities. License in practice: License treatment is unclear: classifiers list BSD and GPLv3 options, but neither SPDX nor raw license metadata is available in the package record. Review LICENSE.txt in the repository before use in proprietary or GPL-incompatible projects. Quickstart: pip install hidapi import hidapi Requires system libraries: on Linux, install libusb-1.0-0-dev and libudev-dev; on Windows and macOS, pre-built wheels are available for Python 3.10, 3.11, 3.12, 3.13, 3.14. Verify before relying: - Exact API surface and method signatures available after import - Whether udev rules configuration is required for all use cases or only specific hardware - Runtime behavior differences between hidraw and libusb backends on Linux ## Package facts - License: not declared (unclear) - Python support: unspecified - Install friction: medium - Maintenance: active - Downloads: 1.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags USB HID device communication, human interface device Python, hidapi Python binding, USB device control library, hardware device interface, USB peripheral access, cross-platform USB control, usb-hardware, device-communication, cross-platform [View on SkillFed](https://skillfed.io/packages/hidapi) · [View on PyPI](https://pypi.org/project/hidapi/)