$npx skillfedfor your agent

libusb1

Pure-python wrapper for libusb-1.0

With conditionsPyPI LibrariesReleased May 2026619.0K downloads / moLGPL-2.1-or-laterPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — libusb1-3.4.0-py3-none-any.whl
v3.4.0 · released 2026-05-16

Yes, if you need USB device access from Python and can install libusb-1.0 on your target OS. The package is actively maintained, has no known vulnerabilities, installs with low friction, and provides a clean Python API to libusb. The LGPL-2.1-or-later license is permissive for most use cases but requires disclosure if you distribute the library; check your project's licensing constraints. Windows users must handle driver setup separately.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires libusb-1.0 system library installed and accessible to ctypes; on Windows, driver setup (WinUSB or libusbk) needed per device; CPython 3.6+ or PyPy 2.0+ required.
  • Low friction installation; pure Python wheel with no compiled dependencies.
  • Active maintenance with last commit on 2026-05-16 and release within 90 days.

License · maintenance · safety

LGPL-2.1-or-later (copyleft) — Licensed under LGPL-2.1-or-later (copyleft). Derivative works and modifications must be distributed under compatible terms; proprietary applications can link to it but must disclose the library and allow relinking.

last release 2026-05-16 (90 days) · last repo commit 2026-05-16 · 187 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 618,950 downloads/mo, #5,731 on PyPI

Verify before relying

pip install libusb1

import libusb1
with libusb1.USBContext() as context:
    handle = context.openByVendorIDAndProductID(VENDOR_ID, PRODUCT_ID)
    if handle:
        data = handle.bulkRead(ENDPOINT, BUFFER_SIZE)
  • Whether the package maintains backward compatibility across major versions beyond what the changelog indicates.
  • Current test coverage and CI/CD pipeline maturity for the listed supported OSes.
  • Performance characteristics for high-throughput or low-latency transfer scenarios.
Same gist for agents: .md · .json

What it is and what it does

libusb1 is a pure-Python ctypes-based wrapper around the libusb-1.0 C library, exposing USB device enumeration, configuration, and data transfer operations as Python classes and methods. It maps libusb functions to object-oriented interfaces—for example, libusb_init becomes USBContext, and libusb_get_device_list becomes a context method returning USBDevice instances—while converting C error codes into Python exceptions.

The package supports both synchronous blocking I/O and asynchronous event-driven transfers with callbacks, allowing developers to build USB applications on GNU/Linux, Windows, OSX, FreeBSD, and OpenBSD without writing C code. It handles the complexity of device claiming, interface selection, and transfer lifecycle management, though users must still install the appropriate system libusb library and, on Windows, configure device drivers separately.

Use it for

  • Read sensor data or control hardware devices connected via USB in embedded or IoT applications.
  • Build cross-platform USB diagnostic or firmware-flashing tools without rewriting logic per OS.
  • Implement high-throughput data acquisition from USB instruments using asynchronous transfer batching.
  • Enumerate and interact with multiple USB devices in a single Python process for device management utilities.
  • Prototype USB communication logic in Python before optimizing performance-critical paths in C.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need USB device access from Python and can install libusb-1.0 on your target OS.

The package is actively maintained, has no known vulnerabilities, installs with low friction, and provides a clean Python API to libusb. The LGPL-2.1-or-later license is permissive for most use cases but requires disclosure if you distribute the library; check your project's licensing constraints. Windows users must handle driver setup separately.

Install

libusb1 on PyPI

Before you install

Low friction installation; pure Python wheel with no compiled dependencies. Active maintenance with last commit on 2026-05-16 and release within 90 days. No known vulnerabilities.

Requires libusb-1.0 system library installed and accessible to ctypes; on Windows, driver setup (WinUSB or libusbk) needed per device; CPython 3.6+ or PyPy 2.0+ required.

License in practice

Licensed under LGPL-2.1-or-later (copyleft). Derivative works and modifications must be distributed under compatible terms; proprietary applications can link to it but must disclose the library and allow relinking.

Quickstart

pip install libusb1

import libusb1
with libusb1.USBContext() as context:
    handle = context.openByVendorIDAndProductID(VENDOR_ID, PRODUCT_ID)
    if handle:
        data = handle.bulkRead(ENDPOINT, BUFFER_SIZE)

Verify before relying

  • Whether the package maintains backward compatibility across major versions beyond what the changelog indicates.
  • Current test coverage and CI/CD pipeline maturity for the listed supported OSes.
  • Performance characteristics for high-throughput or low-latency transfer scenarios.

Package facts

LicenseLGPL-2.1-or-later copyleft
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceActively maintained 90 days since the last release
Last repo commit
First released
Downloads618,950 / month, #5,731 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Intended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: LibrariesTopic :: System :: Hardware :: Hardware Drivers

Evidence: libusb1-3.4.0-py3-none-any.whl

Tags

Capabilities
usb device communication pythonlibusb wrapperusb bulk transferusb async iohardware device control pythonusb endpoint read writecross-platform usb access
Topics
usb-hardwarecross-platformasync-io
PyPI keywords
usblibusb

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 › “usb device communication python”

  • libusb1Python wrapper for libusb-1.0 that enables synchronous and…
  • hidapiProvides a Python interface to HIDAPI, enabling communication with…
  • 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 Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also libusb-package · pyusb · hidapi · libusbsio · pylibftdi · pyftdi · hid · binho-host-adapter · brainstem · ft4222