This library allows you to communicate with USB devices from
userspace. It is implemented as a high-level wrapper around
bindings-libusb which is a low-level binding to the C library:
libusb-1.*.

This documentation assumes knowledge of how to operate USB
devices from a software standpoint (descriptors, configurations,
interfaces, endpoints, control/bulk/interrupt/isochronous
transfers, etc). Full information can be found in the USB 2.0
Specification.