1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonAtLeast,
6 pytest-asyncio,
7 pytestCheckHook,
8}:
9
10buildPythonPackage rec {
11 pname = "pyheos";
12 version = "0.7.2";
13 format = "setuptools";
14
15 src = fetchFromGitHub {
16 owner = "andrewsayre";
17 repo = "pyheos";
18 rev = version;
19 sha256 = "0rgzg7lnqzzqrjp73c1hj1hq8p0j0msyih3yr4wa2rj81s8ihmby";
20 };
21
22 nativeCheckInputs = [
23 pytest-asyncio
24 pytestCheckHook
25 ];
26
27 disabledTests =
28 [
29 # accesses network
30 "test_connect_timeout"
31 ]
32 ++ lib.optionals (pythonAtLeast "3.12") [
33 # stuck in epoll
34 "test_disconnect"
35 "test_commands_fail_when_disconnected"
36 ];
37
38 pythonImportsCheck = [ "pyheos" ];
39
40 meta = with lib; {
41 description = "Async python library for controlling HEOS devices through the HEOS CLI Protocol";
42 homepage = "https://github.com/andrewsayre/pyheos";
43 license = licenses.asl20;
44 maintainers = with maintainers; [ dotlambda ];
45 };
46}