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