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