1{
2 lib,
3 aenum,
4 buildPythonPackage,
5 fetchFromGitHub,
6 aiohttp,
7 aioresponses,
8 poetry-core,
9 pydantic,
10 pytest-asyncio,
11 pytest-httpx,
12 pytestCheckHook,
13 pythonOlder,
14 rich,
15}:
16
17buildPythonPackage rec {
18 pname = "intellifire4py";
19 version = "4.1.9";
20 pyproject = true;
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "jeeftor";
26 repo = "intellifire4py";
27 tag = "v${version}";
28 hash = "sha256-dMhm2gntLV7ev6UIfHFMATytZo5blTlALuh9sBirkqI=";
29 };
30
31 nativeBuildInputs = [ poetry-core ];
32
33 propagatedBuildInputs = [
34 aiohttp
35 aenum
36 pydantic
37 rich
38 ];
39
40 nativeCheckInputs = [
41 aioresponses
42 pytest-asyncio
43 pytest-httpx
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "intellifire4py" ];
48
49 meta = with lib; {
50 description = "Module to read Intellifire fireplace status data";
51 mainProgram = "intellifire4py";
52 homepage = "https://github.com/jeeftor/intellifire4py";
53 changelog = "https://github.com/jeeftor/intellifire4py/releases/tag/v${version}";
54 license = with licenses; [ mit ];
55 maintainers = with maintainers; [ fab ];
56 };
57}