From 7dad82b125fdca5df83c00fc711151c35aaa5125 Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 11 Sep 2023 17:27:52 -0700 Subject: [PATCH 1/4] use pyxdep file to locate chid.pxd --- hid.pyxdep | 1 + setup.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 hid.pyxdep diff --git a/hid.pyxdep b/hid.pyxdep new file mode 100644 index 0000000..7480bc8 --- /dev/null +++ b/hid.pyxdep @@ -0,0 +1 @@ +chid.pxd diff --git a/setup.py b/setup.py index 4c311ba..73066b0 100755 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ hidapi_include = os.path.join(hidapi_topdir, "hidapi") system_hidapi = 0 libs = [] -src = ["hid.pyx", "chid.pxd"] +src = ["hid.pyx"] def hidapi_src(platform): @@ -42,7 +42,7 @@ def hidapi_src(platform): ) ) libs = ["udev", "rt"] - src = ["hidraw.pyx", "chid.pxd"] + src = ["hidraw.pyx"] if system_hidapi == 1: libs.append("hidapi-hidraw") else: From 4c78f61c7815d1005023d69c42ae777cfee021c1 Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 11 Sep 2023 17:28:33 -0700 Subject: [PATCH 2/4] specify language_level for cython --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 73066b0..6a3e0af 100755 --- a/setup.py +++ b/setup.py @@ -1,5 +1,6 @@ #!/usr/bin/python from setuptools import setup, Extension +from Cython.Build import cythonize import os import sys import subprocess From d73b4cc6706d4220d28df866504e989ab616616a Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 11 Sep 2023 17:31:37 -0700 Subject: [PATCH 3/4] use pyproject.toml allow using recent cython the expectation is that one would use the `build` tool instead of invoking setup.py. --- pyproject.toml | 3 +++ requirements.txt | 1 - setup.py | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 pyproject.toml delete mode 100644 requirements.txt diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..c07b1d3 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "Cython"] +build-backend = "setuptools.build_meta" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index f71bba2..0000000 --- a/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -Cython>=0.24 diff --git a/setup.py b/setup.py index 6a3e0af..9dcdb0e 100755 --- a/setup.py +++ b/setup.py @@ -136,7 +136,6 @@ def find_version(): "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", ], - ext_modules=modules, - setup_requires=["Cython"], + ext_modules=cythonize(modules, language_level=3), install_requires=["setuptools>=19.0"], ) From 7a7088356c089c52ef1b38861356653e5477cb65 Mon Sep 17 00:00:00 2001 From: Shawn Hoffman Date: Mon, 11 Sep 2023 17:32:02 -0700 Subject: [PATCH 4/4] README: git clone can get the submodule too --- README.rst | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/README.rst b/README.rst index ca7fe29..02c1a84 100644 --- a/README.rst +++ b/README.rst @@ -44,14 +44,10 @@ Build from source 1. Download cython-hidapi archive:: - $ git clone https://github.com/trezor/cython-hidapi.git + $ git clone --recursive https://github.com/trezor/cython-hidapi.git $ cd cython-hidapi -2. Initialize hidapi submodule:: - - $ git submodule update --init - -3. Build cython-hidapi extension module:: +2. Build cython-hidapi extension module:: $ python setup.py build @@ -59,7 +55,7 @@ Build from source $ python setup.py build --without-libusb -4. Install cython-hidapi module into your Python distribution:: +3. Install cython-hidapi module into your Python distribution:: $ sudo python setup.py install @@ -67,13 +63,13 @@ Build from source $ pip install -e . -5. Test install:: +4. Test install:: $ python >>> import hid >>> -6. Try example script:: +5. Try example script:: $ python try.py