1{ lib
2, aiohttp
3, aresponses
4, async-modbus
5, async-timeout
6, buildPythonPackage
7, construct
8, exceptiongroup
9, fetchFromGitHub
10, pytest-asyncio
11, pytestCheckHook
12, pythonOlder
13, setuptools
14, tenacity
15}:
16
17buildPythonPackage rec {
18 pname = "nibe";
19 version = "2.5.0";
20 pyproject = true;
21
22 disabled = pythonOlder "3.9";
23
24 src = fetchFromGitHub {
25 owner = "yozik04";
26 repo = "nibe";
27 rev = "refs/tags/${version}";
28 hash = "sha256-PCfodp8gyjOUgb4FthMlbanbEtJuc6axM8DkQJ/ykLg=";
29 };
30
31 nativeBuildInputs = [
32 setuptools
33 ];
34
35 propagatedBuildInputs = [
36 async-modbus
37 async-timeout
38 construct
39 exceptiongroup
40 tenacity
41 ];
42
43 nativeCheckInputs = [
44 aresponses
45 pytest-asyncio
46 pytestCheckHook
47 ];
48
49 pythonImportsCheck = [
50 "nibe"
51 ];
52
53 meta = with lib; {
54 description = "Library for the communication with Nibe heatpumps";
55 homepage = "https://github.com/yozik04/nibe";
56 changelog = "https://github.com/yozik04/nibe/releases/tag/${version}";
57 license = with licenses; [ gpl3Plus ];
58 maintainers = with maintainers; [ fab ];
59 };
60}