# libusb/libusb

A cross-platform library to access USB devices

Repository: https://github.com/libusb/libusb
Canonical: https://ross.abutalabs.com/products/libusb
Homepage: https://libusb.info
Language: C
License: LGPL-2.1
License Family: copyleft
Topics: libusb, c, usb
Last push: 2026-08-26T17:30:34+00:00

## Health v2 (maintenance only)
Score: 83/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 52, longevity 100
- inputs: {"age_days": 4648, "days_push": 7, "days_rel": 108, "gap_med": 212.0, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 6141, forks 2066 (observed 2026-08-28T04:09:36.479002+00:00)

## What it is
libusb is a C library providing generic, user-mode access to USB devices across Linux, macOS, Windows, Android, and BSD platforms. It supports all USB protocol versions from 1.0 through USB 4.0 via a single portable API without requiring elevated privileges.

## Use cases
- communicate with usb hardware from a cross-platform application
- read and write to a usb device without writing kernel drivers
- access usb devices in user mode without admin privileges
- enumerate and control usb devices on linux, macos, and windows
- build firmware flashing or device programming tools
- support usb 3.x and usb4 devices in a c or c++ app

## When to choose
- you need portable usb device access from C/C++ with one codebase
- you want to avoid writing platform-specific kernel drivers
- you need broad OS support including Linux, macOS, Windows, Android, and BSD
- you need support for all USB protocol versions up to USB 4.0

## When to avoid
- you need high-level class drivers for a specific device type (e.g., printers, mass storage) that an OS already provides
- you are working in a language with a higher-level USB library that wraps libusb anyway
- you need kernel-mode USB access or low-latency kernel-level performance

## Facets
- artifact type: library
- maturity: stable
- function: sdk, developer-tools
- domain: hardware, cross-platform, developer-tools
- platform: windows, cross-platform, c, cpp
- tags: usb, usb-devices, user-mode, hardware-access, c-library, usb-3, linux, macos, android

## Member repositories
- libusb/libusb (main) score 83

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:36.479002+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:47:34.195902+00:00, confidence not recorded.
  - readme: https://github.com/libusb/libusb (fetched 2026-08-28T04:09:36.479002+00:00, sha 2b7814d3fca2)
  - homepage: https://libusb.info (fetched 2026-08-29T08:44:23.998703+00:00, sha 809e279f66b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
