{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/5"},{"label":"Hardware Drivers","url":"https://skillfed.io/packages/category/system-hardware-hardware-drivers"}],"enrichment":{"capability":"Python wrapper for libusb-1.0 that enables synchronous and asynchronous USB device communication across multiple operating systems.","skillfed_tags":["usb-hardware","cross-platform","async-io"],"use_cases":["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."],"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\u2014for example, libusb_init becomes USBContext, and libusb_get_device_list becomes a context method returning USBDevice instances\u2014while converting C error codes into Python exceptions.\n\nThe 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.","worth_installing":"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."},"id":"libusb1","links":{"html":"https://skillfed.io/packages/libusb1","md":"https://skillfed.io/packages/libusb1.md","pypi":"https://pypi.org/project/libusb1/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-05-16","license_spdx":"LGPL-2.1-or-later","license_treatment":"copyleft","name":"libusb1","python_support":"unspecified","summary":"Pure-python wrapper for libusb-1.0"},"popularity":{"monthly_downloads":618950,"position":5731,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"3.4.0"}
