1{ lib
2, async-timeout
3, asyncstdlib
4, attrs
5, buildPythonPackage
6, defusedxml
7, fetchFromGitHub
8, httpx
9, netifaces
10, pytest-asyncio
11, pytestCheckHook
12, pytest-httpx
13, pytest-timeout
14, pythonOlder
15, setuptools
16}:
17
18buildPythonPackage rec {
19 pname = "denonavr";
20 version = "0.11.4";
21 format = "pyproject";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "ol-iver";
27 repo = pname;
28 rev = "refs/tags/${version}";
29 hash = "sha256-0+BjakGGnCbmiSHSipRifPkasfP1vvAWGvzyRufpsOk=";
30 };
31
32 nativeBuildInputs = [
33 setuptools
34 ];
35
36 propagatedBuildInputs = [
37 asyncstdlib
38 attrs
39 defusedxml
40 httpx
41 netifaces
42 ] ++ lib.optionals (pythonOlder "3.11") [
43 async-timeout
44 ];
45
46 nativeCheckInputs = [
47 pytest-asyncio
48 pytestCheckHook
49 pytest-httpx
50 pytest-timeout
51 ];
52
53 pythonImportsCheck = [
54 "denonavr"
55 ];
56
57 meta = with lib; {
58 description = "Automation Library for Denon AVR receivers";
59 homepage = "https://github.com/ol-iver/denonavr";
60 changelog = "https://github.com/ol-iver/denonavr/releases/tag/${version}";
61 license = with licenses; [ mit ];
62 maintainers = with maintainers; [ colemickens ];
63 };
64}