1{ lib
2, aiohttp
3, async-timeout
4, asyncio-dgram
5, buildPythonPackage
6, docutils
7, fetchFromGitHub
8, poetry-core
9, pytest-aiohttp
10, pytest-asyncio
11, pytestCheckHook
12, pythonOlder
13, voluptuous
14}:
15
16buildPythonPackage rec {
17 pname = "aioguardian";
18 version = "2022.10.0";
19 format = "pyproject";
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "bachya";
25 repo = pname;
26 rev = "refs/tags/${version}";
27 hash = "sha256-plgO+pyKmG0mYnFZxDcrENcuEg5AG2Og2xWipzuzyHo=";
28 };
29
30 nativeBuildInputs = [
31 poetry-core
32 ];
33
34 propagatedBuildInputs = [
35 aiohttp
36 async-timeout
37 asyncio-dgram
38 docutils
39 voluptuous
40 ];
41
42 nativeCheckInputs = [
43 asyncio-dgram
44 pytest-aiohttp
45 pytest-asyncio
46 pytestCheckHook
47 ];
48
49 disabledTestPaths = [
50 "examples/"
51 ];
52
53 pythonImportsCheck = [
54 "aioguardian"
55 ];
56
57 meta = with lib; {
58 description = " Python library to interact with Elexa Guardian devices";
59 longDescription = ''
60 aioguardian is an asyncio-focused library for interacting with the
61 Guardian line of water valves and sensors from Elexa.
62 '';
63 homepage = "https://github.com/bachya/aioguardian";
64 changelog = "https://github.com/bachya/aioguardian/releases/tag/${version}";
65 license = with licenses; [ mit ];
66 maintainers = with maintainers; [ fab ];
67 };
68}