1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6
7 # build-system
8 poetry-core,
9
10 # dependencies
11 bitarray,
12 crc,
13
14 # tests
15 pytestCheckHook,
16}:
17
18buildPythonPackage rec {
19 pname = "airtouch5py";
20 version = "0.2.10";
21 pyproject = true;
22
23 disabled = pythonOlder "3.10";
24
25 src = fetchFromGitHub {
26 owner = "danzel";
27 repo = "airtouch5py";
28 rev = "refs/tags/${version}";
29 hash = "sha256-8QMyp/Y60V64k1V8Hze5FsgpfHr8ZT1Xj/kQDP7CtjI=";
30 };
31
32 build-system = [ poetry-core ];
33 pythonRelaxDeps = [ "crc" ];
34
35 dependencies = [
36 bitarray
37 crc
38 ];
39
40 nativeCheckInputs = [ pytestCheckHook ];
41
42 pythonImportsCheck = [ "airtouch5py" ];
43
44 meta = with lib; {
45 changelog = "https://github.com/danzel/airtouch5py/releases/tag/${version}";
46 description = "Python client for the airtouch 5";
47 homepage = "https://github.com/danzel/airtouch5py";
48 license = licenses.asl20;
49 maintainers = with maintainers; [ jamiemagee ];
50 };
51}