1{ lib
2, aiohttp
3, aiosqlite
4, buildPythonPackage
5, crccheck
6, cryptography
7, freezegun
8, fetchFromGitHub
9, pycryptodome
10, pyserial-asyncio
11, pytest-asyncio
12, pytest-timeout
13, pytestCheckHook
14, pythonOlder
15, voluptuous
16}:
17
18buildPythonPackage rec {
19 pname = "zigpy";
20 version = "0.55.0";
21 format = "setuptools";
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "zigpy";
27 repo = "zigpy";
28 rev = "refs/tags/${version}";
29 hash = "sha256-fc98V6KJ7zROgNktHZlWj9/BQRbCIWYT5Px09mFrwHQ=";
30 };
31
32 propagatedBuildInputs = [
33 aiohttp
34 aiosqlite
35 crccheck
36 cryptography
37 pyserial-asyncio
38 pycryptodome
39 voluptuous
40 ];
41
42 nativeCheckInputs = [
43 freezegun
44 pytest-asyncio
45 pytest-timeout
46 pytestCheckHook
47 ];
48
49 disabledTests = [
50 # # Our two manual scans succeeded and the periodic one was attempted
51 # assert len(mock_scan.mock_calls) == 3
52 # AssertionError: assert 4 == 3
53 "test_periodic_scan_priority"
54 ];
55
56 pythonImportsCheck = [
57 "zigpy.application"
58 "zigpy.config"
59 "zigpy.exceptions"
60 "zigpy.types"
61 "zigpy.zcl"
62 ];
63
64 meta = with lib; {
65 description = "Library implementing a ZigBee stack";
66 homepage = "https://github.com/zigpy/zigpy";
67 changelog = "https://github.com/zigpy/zigpy/releases/tag/${version}";
68 license = licenses.gpl3Plus;
69 maintainers = with maintainers; [ mvnetbiz ];
70 platforms = platforms.linux;
71 };
72}