1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, click
5, click-log
6, dataclasses
7, pure-pcapy3
8, pyserial-asyncio
9, voluptuous
10, zigpy
11, asynctest
12, pythonOlder
13, pytestCheckHook
14, pytest-asyncio
15, pytest-timeout
16}:
17
18buildPythonPackage rec {
19 pname = "bellows";
20 version = "0.34.3";
21 format = "setuptools";
22
23 src = fetchFromGitHub {
24 owner = "zigpy";
25 repo = "bellows";
26 rev = "refs/tags/${version}";
27 sha256 = "sha256-7jaXNz7i+kF64T+5/QWKGpxHCkg/M9U2hbWrVB2tjH8=";
28 };
29
30 propagatedBuildInputs = [
31 click
32 click-log
33 pure-pcapy3
34 pyserial-asyncio
35 voluptuous
36 zigpy
37 ] ++ lib.optionals (pythonOlder "3.7") [
38 dataclasses
39 ];
40
41 checkInputs = [
42 pytestCheckHook
43 pytest-asyncio
44 pytest-timeout
45 ] ++ lib.optionals (pythonOlder "3.8") [
46 asynctest
47 ];
48
49 pythonImportsCheck = [
50 "bellows"
51 ];
52
53 meta = with lib; {
54 description = "Python module to implement EZSP for EmberZNet devices";
55 homepage = "https://github.com/zigpy/bellows";
56 license = licenses.gpl3Plus;
57 maintainers = with maintainers; [ mvnetbiz ];
58 };
59}