{ lib, appdirs, buildPythonPackage, fetchFromGitHub, graphviz, ifaddr, lxml, mock, pytestCheckHook, requests, requests-mock, setuptools, xmltodict, }: buildPythonPackage rec { pname = "soco"; version = "0.30.12"; pyproject = true; src = fetchFromGitHub { owner = "SoCo"; repo = "SoCo"; tag = "v${version}"; hash = "sha256-PczdR6lG4oKsg5eRIPSjRgYMERyvDeLnXpeOj/1aY24="; }; build-system = [ setuptools ]; dependencies = [ appdirs ifaddr lxml requests xmltodict ]; nativeCheckInputs = [ pytestCheckHook graphviz mock requests-mock ]; pythonImportsCheck = [ "soco" ]; meta = with lib; { description = "CLI and library to control Sonos speakers"; homepage = "http://python-soco.com/"; changelog = "https://github.com/SoCo/SoCo/releases/tag/${src.tag}"; license = licenses.mit; maintainers = with maintainers; [ lovesegfault ]; }; }