1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, gpiozero
5, mock
6, pyserial
7, pyserial-asyncio
8, pyusb
9, pytest-asyncio
10, pytestCheckHook
11, pythonOlder
12, zigpy
13}:
14
15buildPythonPackage rec {
16 pname = "zigpy-zigate";
17 version = "0.11.0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "zigpy";
24 repo = "zigpy-zigate";
25 rev = "refs/tags/${version}";
26 hash = "sha256-eGN2QvPHZ8gfPPFdUbAP9cs43jzUHDBS/w1tni1shB0=";
27 };
28
29 propagatedBuildInputs = [
30 gpiozero
31 pyserial
32 pyserial-asyncio
33 pyusb
34 zigpy
35 ];
36
37 nativeCheckInputs = [
38 mock
39 pytest-asyncio
40 pytestCheckHook
41 ];
42
43 pythonImportsCheck = [
44 "zigpy_zigate"
45 ];
46
47 disabledTestPaths = [
48 # Fails in sandbox
49 "tests/test_application.py "
50 ];
51
52 meta = with lib; {
53 description = "Library which communicates with ZiGate radios for zigpy";
54 homepage = "https://github.com/zigpy/zigpy-zigate";
55 changelog = "https://github.com/zigpy/zigpy-zigate/releases/tag/${version}";
56 license = licenses.gpl3Plus;
57 maintainers = with maintainers; [ mvnetbiz ];
58 platforms = platforms.linux;
59 };
60}