Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

A Cython interface to the hidapi from https://github.com/libusb/hidapi

Project description

Description

A Cython interface to HIDAPI library.

This has been tested with:

  • TREZOR Hardware Wallet

  • the PIC18F4550 on the development board from CCS with their example program

  • the Fine Offset WH3081 Weather Station

It works on Linux, Windows and macOS.

Software Dependencies

License

cython-hidapi may be used by one of three licenses as outlined in LICENSE.txt

Install

$ sudo apt-get install python-dev libusb-1.0-0-dev libudev-dev
$ sudo pip install --upgrade setuptools
$ sudo pip install hidapi

For other download options visit the PyPi page.

Build from source

  1. Download cython-hidapi archive:

    $ git clone --recursive https://github.com/trezor/cython-hidapi.git
    $ cd cython-hidapi
  2. Build cython-hidapi extension module:

    $ python setup.py build

    On Linux, the hidraw API is now used by default, and the libusb API is not included. That is, –without-libusb is now the default behavior. To force the use of the libusb API instead, use the –with-libusb option:

    $ python setup.py build --with-libusb

    Or you can also use the environment variable:

    $ export HIDAPI_WITH_LIBUSB=1
    $ python setup.py build
  3. Install cython-hidapi module into your Python distribution:

    $ sudo python setup.py install

    Alternatively, you can run pip directly, which will call the necessary build and install commands:

    $ pip install -e .
  4. Test install:

    $ python
    >>> import hid
    >>>
  5. Try example script:

    $ python try.py

Udev rules

For correct functionality under Linux, you need to create a rule file similar to this one in your udev rules directory.

Also you might need to call udevadm control --reload-rules to reload the rules.

Documentation

Documentation can be built using Sphinx:

$ cd docs && make html

The HTML output will be in docs/_build/html.

The documentation is extracted from the code using autodoc.

Note that the build output is used. So rebuilt the package before generating documentation.

Built documentation is also deployed to: https://trezor.github.io/cython-hidapi/.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page