libusb-package
Package containing libusb so it can be installed via Python package managers
Decision gist · record as of 2026-08-14
Yes, if your project needs USB device access via libusb and you want to avoid system-level dependency management. The package is actively maintained, carries no known vulnerabilities, and provides wheels for all major platforms. Install friction is moderate—wheels are available for common configurations, but source builds require standard development tools. Not necessary if your system already has libusb installed and you prefer direct system integration.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- On Linux and macOS, if no matching wheel is available, autoconf, automake, libtool, and m4 must be installed to build libusb from source.
- On Windows, Visual Studio 2019 or later is required.
- Medium install friction: wheels are available for Linux, macOS, and Windows across multiple architectures, but source distributions require build tools (autoconf, automake, libtool, m4 on Linux/macOS; Visual Studio 2019+ on Windows).
License · maintenance · safety
Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing commercial and private use. Note that the bundled libusb library itself is licensed under LGPLv2.1, which has different terms; review both licenses if distributing.
last release 2026-06-30 (45 days) · last repo commit 2026-07-10 · 40 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,553,085 downloads/mo, #3,773 on PyPI
Alternatives
Verify before relying
pip install libusb-package
import libusb_package
for dev in libusb_package.find(find_all=True):
print(dev)- Whether the lack of udev support on Linux affects functionality for specific use cases.
- Performance characteristics and any known limitations when libusb is built from source during installation.
What it is and what it does
libusb-package is a container for libusb shared libraries that simplifies USB device access in Python projects. Instead of requiring users to manually install libusb on their system, this package bundles pre-built libusb binaries for Linux, macOS, and Windows (both x86_64 and ARM architectures), delivering them via pip. It exports four main functions: `find()` wraps pyusb's device discovery using the bundled libusb backend, `get_libusb1_backend()` returns a ready-to-use pyusb backend, `find_library()` locates the bundled library for lower-level integration, and `get_library_path()` returns the absolute path to the library or None if no bundled version exists.
The package is designed primarily to support pyusb and other libusb wrapper libraries, eliminating the friction of system-level dependency management. If a matching wheel is not available for your platform, the package will attempt to compile libusb from source; if that build fails, installation still succeeds but returns None from `get_library_path()`, allowing fallback to a system-installed libusb. The package is actively maintained, supports Python 3.9 through 3.14, and carries no known security vulnerabilities.
Use it for
- Distribute a Python tool that needs USB device access without requiring end-users to install libusb system packages.
- Integrate USB hardware communication into a cross-platform Python application using pyusb with minimal setup friction.
- Provide a consistent libusb backend for CI/CD pipelines that test USB-dependent code on multiple operating systems.
- Build embedded tooling (e.g., firmware programmers, device debuggers) that relies on libusb without system dependency documentation.
- Enable USB device enumeration and communication in containerized Python applications without modifying the container image.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if your project needs USB device access via libusb and you want to avoid system-level dependency management.
The package is actively maintained, carries no known vulnerabilities, and provides wheels for all major platforms. Install friction is moderate—wheels are available for common configurations, but source builds require standard development tools. Not necessary if your system already has libusb installed and you prefer direct system integration.
Install
libusb-package on PyPI
Before you install
Medium install friction: wheels are available for Linux, macOS, and Windows across multiple architectures, but source distributions require build tools (autoconf, automake, libtool, m4 on Linux/macOS; Visual Studio 2019+ on Windows). Package remains active with recent releases.
On Linux and macOS, if no matching wheel is available, autoconf, automake, libtool, and m4 must be installed to build libusb from source. On Windows, Visual Studio 2019 or later is required.
License in practice
Licensed under Apache 2.0 (permissive), allowing commercial and private use. Note that the bundled libusb library itself is licensed under LGPLv2.1, which has different terms; review both licenses if distributing.
Quickstart
pip install libusb-package
import libusb_package
for dev in libusb_package.find(find_all=True):
print(dev)
Verify before relying
- Whether the lack of udev support on Linux affects functionality for specific use cases.
- Performance characteristics and any known limitations when libusb is built from source during installation.
Package facts
| License | Apache 2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 1 packageimportlib_resources |
| Maintenance | Actively maintained 45 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,553,085 / month, #3,773 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: System :: Hardware :: Universal Serial Bus (USB)Typing :: Typed |
Evidence: libusb_package-1.0.30.0-py3-none-macosx_10_9_x86_64.whl; libusb_package-1.0.30.0-py3-none-macosx_11_0_arm64.whl; libusb_package-1.0.30.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; libusb_package-1.0.30.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; libusb_package-1.0.30.0-py3-none-musllinux_1_2_aarch64.whl; libusb_package-1.0.30.0-py3-none-musllinux_1_2_x86_64.whl; libusb_package-1.0.30.0-py3-none-win32.whl; libusb_package-1.0.30.0-py3-none-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 › “libusb python wrapper”
- libusb-packageBundles libusb shared libraries for multiple platforms and…
- libusb1Python wrapper for libusb-1.0 that enables synchronous and…
- pyusbPyUSB provides Python access to USB devices on the host machine…
Give your agent the search over MCP, or paste the wish link into any chat.
More Hardware packages
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
Python wrapper around NVIDIA's Management Library that exposes GPU monitoring and management functions through a Pythonic interface, converting C library calls to Python methods and error codes to exceptions.
Install it if you need to query or monitor NVIDIA GPUs from Python; the only blocker is requiring NVIDIA drivers and NVML on the target system.
Provides Python utilities for querying NVIDIA GPU device information through the NVIDIA Management Library (NVML).
CircularDict is a Python dictionary that automatically removes oldest entries when it reaches a size limit (by item count or total bytes), acting as a bounded circular buffer for memory-controlled caching and data storage.
pyudev is a pure Python binding for libudev that lets you enumerate, query, and monitor Linux devices and hardware from Python code.
Install it if you need programmatic access to udev from Python on Linux; it is the standard binding for this task.
A Python library for controlling BlueZ Bluetooth adapters on Linux via the Management API, supporting both synchronous and event-driven command patterns.
See also libusb1 · pyusb · libusbsio · find-libpython · spidev · pylibftdi · hid · hidapi · libuuu · brainstem