Skip to content

trezor/cython-hidapi

Folders and files

NameName
Last commit message
Last commit date
Nov 6, 2024
Jan 28, 2024
May 28, 2023
Feb 10, 2021
Aug 10, 2019
Aug 26, 2021
Jun 22, 2015
Jun 22, 2015
Jun 22, 2015
Jun 22, 2015
Jun 6, 2022
Nov 12, 2023
Nov 21, 2024
Nov 21, 2024
Oct 17, 2023
Sep 10, 2013
Oct 17, 2023
Oct 17, 2023
Jan 15, 2025
Dec 10, 2020
Oct 17, 2023
Nov 21, 2024

cython-hidapi

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.

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

$ 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.

  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
    

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 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/.