|
USBIP C library 0.7.0
Virtual USB devices & host drivers over USB/IP
|
pyusb is the usual way to talk to USB from Python, and it can drive a virtual device from either library - by loading the libusb-1.0 wrapper as its backend instead of the system libusb.
pyusb loads that backend from a path you choose, so pointing it at the wrapper needs no LD_PRELOAD and no copying a DLL. With the variables set in os.environ rather than the shell, this is the same code on every OS - only the file name changes:
The Python guide's pyusb page walks a full program through this, with the behavioural differences that matter to a pyusb caller (string indices read 0, no hotplug, timeouts not enforced - Wrappers).