# cython-hidapi **Repository Path**: gaobinbin/cython-hidapi ## Basic Information - **Project Name**: cython-hidapi - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-12 - **Last Updated**: 2025-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README cython-hidapi ============= .. contents:: 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 --------------------- * `Python `_ * `Cython `_ * hidraw or libusb+libudev on Linux 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/ `_.