1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, graphviz
5, ifaddr
6, pythonOlder
7, mock
8, nix-update-script
9, pytestCheckHook
10, requests
11, requests-mock
12, xmltodict
13}:
14
15buildPythonPackage rec {
16 pname = "soco";
17 version = "0.24.1";
18 disabled = pythonOlder "3.6";
19
20 src = fetchFromGitHub {
21 owner = "SoCo";
22 repo = "SoCo";
23 rev = "v${version}";
24 sha256 = "sha256-78JYetA6msGiLMHNTdTN2b5lOiXaY+TQA9ID8qtPmM0=";
25 };
26
27 propagatedBuildInputs = [
28 ifaddr
29 requests
30 xmltodict
31 ];
32
33 checkInputs = [
34 pytestCheckHook
35 graphviz
36 mock
37 requests-mock
38 ];
39
40 pythonImportsCheck = [ "soco" ];
41
42 passthru.updateScript = nix-update-script {
43 attrPath = "python3Packages.${pname}";
44 };
45
46 meta = with lib; {
47 homepage = "http://python-soco.com/";
48 description = "A CLI and library to control Sonos speakers";
49 license = licenses.mit;
50 maintainers = with maintainers; [ lovesegfault ];
51 };
52}