libusbsio
Python wrapper around NXP LIBUSBSIO library
What it is and what it does
libusbsio is a Python wrapper around NXP's binary libusbsio library, which provides low-level access to SPI, I2C, and GPIO buses through NXP's LPCLink2 and MCUlink Pro USB debug probes. The wrapper encapsulates the native library and exposes its functionality to Python applications, handling the underlying HID API communication with the USB devices across Windows, macOS, and Linux platforms.
The package is designed for embedded systems development and debugging workflows where you need to communicate with microcontroller boards over USB without writing to the native library directly. It supports multiple simultaneous LIBUSBSIO objects for different connected devices, offers configurable logging, and includes methods for device enumeration, opening by serial number or path, and controlling low-level HID read timeouts.
Use it for:
- Debug and communicate with NXP LPCLink2 or MCUlink Pro devices from Python scripts during embedded development.
- Automate SPI or I2C bus testing and validation against target MCU applications running on connected boards.
- Read and write GPIO pins on target microcontrollers via USB without direct hardware access.
- Integrate NXP debug probe control into Python-based test frameworks or CI/CD pipelines for embedded projects.
- Enumerate and manage multiple connected USBSIO devices simultaneously in a single Python application.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python wrapper around NXP's libusbsio binary library to control SPI, I2C, and GPIO interfaces over USB on LPCLink2 and MCUlink Pro debug probes.
Yes, if you own or work with NXP LPCLink2 or MCUlink Pro hardware and need to control SPI, I2C, or GPIO from Python. The package is actively maintained, has no external dependencies, carries a permissive license, and is free of known vulnerabilities. Install only if you have the required NXP hardware; it is not useful as a standalone library.
Install
libusbsio on PyPI
pip
pip install libusbsiouv
uv add libusbsiopoetry
poetry add libusbsioInstalling libusbsio
Before you install
Low install friction with no external Python dependencies. Package is actively maintained, with the latest release from June 2026 and a release cycle showing regular updates.
License in practice
BSD-3-Clause permissive license allows use in commercial and proprietary projects with minimal restrictions; source code availability since v2.1.11.
Quickstart
python -m pip install libusbsio
from libusbsio import LIBUSBSIO
import logging
logging.basicConfig()
sio = LIBUSBSIO(loglevel=logging.INFO)
Requires the NXP libusbsio binary library to be installed on the system; LPCLink2 or MCUlink Pro hardware device must be connected via USB.
Verify before relying
- Whether the package works with Python versions beyond 3.6 in practice, despite the requires_python declaration.
- Availability and completeness of API documentation beyond the description excerpt.
- Whether all platform binaries (Windows, macOS, Linux including armv7l and aarch64) are included in the PyPI wheel.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 50 days since the last release |
| First released | |
| Downloads | 545,920/month — #6,072 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: libusbsio-2.2.1-py3-none-any.whl
Keywords: LIBUSBSIO, USBSIO, SPI, I2C, GPIO
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
ft4222Provides Python bindings to LibFT4222, enabling…
permissive · top 15,000 on PyPI
pyftdiPyFtdi provides a pure-Python user-space driver…
permissive · top 15,000 on PyPI
spsdkSPSDK is a Python library and CLI toolkit for…
permissive · top 15,000 on PyPI
spsdk-mcu-linkA plugin for SPSDK that adds support for NXP…
permissive · top 15,000 on PyPI
pypemicroProvides a Python interface to PEMicro debug…
permissive · top 15,000 on PyPI
Adafruit-PureIOProvides pure Python access to Linux I2C and…
permissive · top 15,000 on PyPI
numato-gpioProvides a Python API to control Numato USB…
permissive · top 15,000 on PyPI
libusb1Python wrapper for libusb-1.0 that enables…
copyleft · top 15,000 on PyPI
spsdk-pyocdIntegrates PyOCD as a debugger probe interface…
permissive · top 15,000 on PyPI
libusb-packageBundles libusb shared libraries for multiple…
permissive · top 5,000 on PyPI