1{
2 lib,
3 aiohttp,
4 aresponses,
5 buildPythonPackage,
6 certifi,
7 fetchFromGitHub,
8 poetry-core,
9 pytest-aiohttp,
10 pytest-asyncio,
11 pytest-mock,
12 pytestCheckHook,
13 pythonOlder,
14 typing-extensions,
15}:
16
17buildPythonPackage rec {
18 pname = "regenmaschine";
19 version = "2024.03.0";
20 pyproject = true;
21
22 disabled = pythonOlder "3.10";
23
24 src = fetchFromGitHub {
25 owner = "bachya";
26 repo = "regenmaschine";
27 tag = version;
28 hash = "sha256-RdmK6oK92j4xqLoAjjqlONYu3IfNNWudo4v7jcc+VGU=";
29 };
30
31 nativeBuildInputs = [ poetry-core ];
32
33 propagatedBuildInputs = [
34 aiohttp
35 certifi
36 typing-extensions
37 ];
38
39 nativeCheckInputs = [
40 aresponses
41 pytest-aiohttp
42 pytest-asyncio
43 pytest-mock
44 pytestCheckHook
45 ];
46
47 disabledTestPaths = [
48 # Examples are prefix with test_
49 "examples/"
50 ];
51
52 pythonImportsCheck = [ "regenmaschine" ];
53
54 __darwinAllowLocalNetworking = true;
55
56 meta = with lib; {
57 description = "Python library for interacting with RainMachine smart sprinkler controllers";
58 homepage = "https://github.com/bachya/regenmaschine";
59 changelog = "https://github.com/bachya/regenmaschine/releases/tag/${version}";
60 license = with licenses; [ mit ];
61 maintainers = with maintainers; [ fab ];
62 };
63}