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