1{
2 lib,
3 aiohttp,
4 aresponses,
5 buildPythonPackage,
6 fetchFromGitHub,
7 inflection,
8 pyjwt,
9 pytest-asyncio,
10 pytestCheckHook,
11 python-dateutil,
12 pythonOlder,
13 setuptools,
14}:
15
16buildPythonPackage rec {
17 pname = "python-smarttub";
18 version = "0.0.39";
19 pyproject = true;
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchFromGitHub {
24 owner = "mdz";
25 repo = "python-smarttub";
26 tag = "v${version}";
27 hash = "sha256-yZrBFUsablu67gfIsWBYc/0k8J5zU1mrWD8kzuNkT+U=";
28 };
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 aiohttp
34 inflection
35 pyjwt
36 python-dateutil
37 ];
38
39 nativeCheckInputs = [
40 aresponses
41 pytest-asyncio
42 pytestCheckHook
43 ];
44
45 pythonImportsCheck = [ "smarttub" ];
46
47 meta = with lib; {
48 changelog = "https://github.com/mdz/python-smarttub/releases/tag/v${version}";
49 description = "Python API for SmartTub enabled hot tubs";
50 homepage = "https://github.com/mdz/python-smarttub";
51 license = with licenses; [ mit ];
52 maintainers = with maintainers; [ fab ];
53 };
54}