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