hidapi
A Cython interface to the hidapi from https://github.com/libusb/hidapi
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- 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.
- 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 · maintenance · safety
(unclear) — 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.
last release 2025-12-09 (248 days) · last repo commit 2026-03-15 · 324 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,266,055 downloads/mo, #4,141 on PyPI
Alternatives
Verify before relying
pip install hidapi
import hidapi- 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
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 on this page. Verify before relying on it.
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
hidapi on PyPI
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.
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.
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
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 | Not specified |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 248 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,266,055 / month, #4,141 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: BSD LicenseLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: hidapi-0.15.0-cp310-cp310-macosx_10_9_x86_64.whl; hidapi-0.15.0-cp310-cp310-macosx_11_0_arm64.whl; hidapi-0.15.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; hidapi-0.15.0-cp310-cp310-manylinux_2_28_aarch64.whl; hidapi-0.15.0-cp310-cp310-manylinux_2_28_i686.whl; hidapi-0.15.0-cp310-cp310-musllinux_1_2_aarch64.whl; hidapi-0.15.0-cp310-cp310-musllinux_1_2_i686.whl; hidapi-0.15.0-cp310-cp310-musllinux_1_2_x86_64.whl; hidapi-0.15.0-cp310-cp310-win32.whl; hidapi-0.15.0-cp310-cp310-win_amd64.whl; hidapi-0.15.0-cp311-cp311-macosx_10_9_x86_64.whl; hidapi-0.15.0-cp311-cp311-macosx_11_0_arm64.whl; hidapi-0.15.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl; hidapi-0.15.0-cp311-cp311-manylinux_2_28_aarch64.whl; hidapi-0.15.0-cp311-cp311-manylinux_2_28_i686.whl; hidapi-0.15.0-cp311-cp311-musllinux_1_2_aarch64.whl; hidapi-0.15.0-cp311-cp311-musllinux_1_2_i686.whl; hidapi-0.15.0-cp311-cp311-musllinux_1_2_x86_64.whl; hidapi-0.15.0-cp311-cp311-win32.whl; hidapi-0.15.0-cp311-cp311-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “human interface device Python”
- hidapiProvides a Python interface to HIDAPI, enabling communication with…
- hidProvides Python bindings to the hidapi library for communicating with…
- pairmuxpairmux lets AI agents control interactive terminal programs through…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also hid · phidget22 · pyusb · libusb1 · spidev · libusbsio · pyudev · ft4222 · pyjoulescope-driver · pyghmi