1{ lib
2, aiohttp
3, aioresponses
4, apischema
5, buildPythonPackage
6, fetchFromGitHub
7, freezegun
8, gql
9, graphql-core
10, pytest-asyncio
11, pytestCheckHook
12, pythonOlder
13, requests
14, setuptools
15, setuptools-scm
16}:
17
18buildPythonPackage rec {
19 pname = "pydrawise";
20 version = "2023.11.0";
21 format = "pyproject";
22
23 disabled = pythonOlder "3.10";
24
25 src = fetchFromGitHub {
26 owner = "dknowles2";
27 repo = "pydrawise";
28 rev = "refs/tags/${version}";
29 hash = "sha256-gKOyTvdETGzKlpU67UKaHYTIvnAX9znHIynP3BiVbt4=";
30 };
31
32 SETUPTOOLS_SCM_PRETEND_VERSION = version;
33
34 nativeBuildInputs = [
35 setuptools
36 setuptools-scm
37 ];
38
39 propagatedBuildInputs = [
40 aiohttp
41 apischema
42 gql
43 graphql-core
44 requests
45 ];
46
47 nativeCheckInputs = [
48 aioresponses
49 freezegun
50 pytest-asyncio
51 pytestCheckHook
52 ];
53
54 pythonImportsCheck = [
55 "pydrawise"
56 ];
57
58 meta = with lib; {
59 description = "Library for interacting with Hydrawise sprinkler controllers through the GraphQL API";
60 homepage = "https://github.com/dknowles2/pydrawise";
61 changelog = "https://github.com/dknowles2/pydrawise/releases/tag/${version}";
62 license = licenses.asl20;
63 maintainers = with maintainers; [ fab ];
64 };
65}