skillfed

usb-devices

Tools for mapping, describing, and resetting USB devices

usb-devices v0.5.1 673.2K downloads/30d#5,398 on PyPI9
Permissive license MIT Active released

What it is and what it does

usb-devices is a lightweight Python library for querying and controlling USB devices on a system. It exposes device metadata—manufacturer, product name, vendor ID, product ID, bus and device numbers—and provides a reset operation for devices like Bluetooth adapters. The package has no runtime dependencies and installs as a pure Python wheel, making it quick to add to any project.

The library is in pre-alpha development but actively maintained, with recent commits and support for Python 3.10 through 3.14. It is designed for developers who need programmatic access to USB device information or the ability to reset devices without shell commands, particularly useful for Bluetooth device management and hardware troubleshooting workflows.

Use it for:

  • Enumerate all USB devices on a system and extract their metadata for inventory or diagnostic logging.
  • Reset a Bluetooth adapter (hci device) programmatically when it becomes unresponsive.
  • Build a hardware management tool that needs to query or control USB peripherals without spawning shell processes.
  • Automate device detection and initialization in embedded or IoT applications.
  • Debug USB device conflicts by listing all connected devices and their IDs in a Python script.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Maps, describes, and resets USB devices on a system, providing access to device metadata like manufacturer, product ID, and vendor ID.

Yes, if you need programmatic USB device enumeration or reset. Low install friction, no dependencies, permissive license, and active maintenance make it a safe choice. Pre-alpha status means the API may change, so pin the version in production. No known vulnerabilities.

Install

usb-devices on PyPI

pip

pip install usb-devices

uv

uv add usb-devices

poetry

poetry add usb-devices

Installing usb-devices

Before you install

Low friction: pure Python wheel with no runtime dependencies. Active maintenance with recent commits, though pre-alpha status (Development Status :: 2) signals the API may still change.

License in practice

MIT license is permissive; you can use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.

Quickstart

pip install usb-devices

from usb_devices import list_devices
devices = list_devices()
for device in devices:
    print(device.manufacturer, device.product)

Requires Python 3.10 or later; system-level USB device access may require elevated privileges depending on OS and device permissions.

Verify before relying

  • Whether the package works on Windows, macOS, and Linux equally or has platform-specific limitations.
  • Whether device reset operations require root/administrator privileges on all platforms.
  • API stability guarantees given pre-alpha status and how breaking changes are communicated.

Package facts

License MIT (permissive)
Python support supports the current Python release (<4.0,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 79 days since the last release
Last repo commit
First released
Downloads 673,171/month — #5,398 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: usb_devices-0.5.1-py3-none-any.whl

Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Software Development :: Libraries

Tags

usb device enumerationlist usb devicesusb device infousb device resetbluetooth device managementhci device controlusb device metadata
usb-hardwaredevice-managementbluetooth

More Libraries packages