1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 ifaddr,
6 poetry-core,
7 pythonOlder,
8 requests,
9 six,
10 websocket-client,
11}:
12
13buildPythonPackage rec {
14 pname = "roonapi";
15 version = "0.1.6";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "pavoni";
22 repo = "pyroon";
23 rev = version;
24 hash = "sha256-6wQsaZ50J2xIPXzICglg5pf8U0r4tL8iqcbdwjZadwU=";
25 };
26
27 nativeBuildInputs = [ poetry-core ];
28
29 propagatedBuildInputs = [
30 ifaddr
31 requests
32 six
33 websocket-client
34 ];
35
36 # Tests require access to the Roon API
37 doCheck = false;
38
39 pythonImportsCheck = [ "roonapi" ];
40
41 meta = with lib; {
42 description = "Python library to interface with the Roon API";
43 homepage = "https://github.com/pavoni/pyroon";
44 changelog = "https://github.com/pavoni/pyroon/releases/tag/${version}";
45 license = with licenses; [ asl20 ];
46 maintainers = with maintainers; [ fab ];
47 };
48}