Skip to main content

Python binding for the libusb C library (ctypes/cffi-based libusb)

Project description

libusb

Python binding for the libusb C library.

Overview

Python libusb module is a low-level binding for libusb C library.
It is an effort to allow python programs full access to the API implemented and provided by the well known *libusb* library.

libusb is a lightweight Python package, based on the ctypes library.
It is fully compliant implementation of the original C libusb 1.0 API by implementing whole its functionality in a clean Python instead of C.

libusb API 1.0 documentation can be found at:
libusb-1.0 API Reference

About original libusb:

Borrowed from the original website:

libusb - A cross-platform user library to access USB devices

Overview

libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware.

It is portable: Using a single cross-platform API, it provides access to USB devices on Linux, OS X, Windows, Android, OpenBSD, etc.

It is user-mode: No special privilege or elevation is required for the application to communicate with a device.

It is version-agnostic: All versions of the USB protocol, from 1.0 to 3.1 (latest), are supported.

What platforms are supported?

Linux, OS X, Windows, Windows CE, Android, OpenBSD/NetBSD, Haiku.

For additional information, please consult the FAQ or the Wiki.

Requirements

  • It is fully independent package.
    All necessary things are installed during the normal installation process.
  • ATTENTION: currently works and tested only for Windows.

Installation

Prerequisites:

To install run:

python -m pip install --upgrade libusb

Development

Visit development page

Installation from sources:

Clone the sources and run:

python -m pip install ./libusb

or on development mode:

python -m pip install --editable ./libusb

Prerequisites:

  • Development is strictly based on tox. To install it run:

    python -m pip install tox
    

License

Copyright (c) 2016-2018 Adam Karpierz

Licensed under the zlib/libpng License
Please refer to the accompanying LICENSE file.

Authors

Changelog

1.0.22b4 (2019-02-15)

  • Setup improvement.
  • Update required setuptools version.
  • Some updates of examples.

1.0.22b2 (2018-11-08)

  • Setup improvement.
  • Update required setuptools version.

1.0.22b1 (2018-03-30)

  • Upgrade to the libusb v.1.0.22
  • Setup improvement.

1.0.21b4 (2018-02-26)

  • Improve and simplify setup and packaging.

1.0.21b3 (2018-02-25)

  • Setup improvement.

1.0.21b2 (2017-12-18)

  • Fix the error of platform detecting.

1.0.21b1 (2017-10-11)

  • First beta release.

1.0.21a3 (2017-08-20)

  • Next alpha release.

1.0.21a0 (2016-09-24)

  • First alpha release.

0.0.1 (2016-09-23)

  • Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
libusb-1.0.22b4.zip (288.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page