nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 aresponses,
4 async-modbus,
5 async-timeout,
6 asyncclick,
7 buildPythonPackage,
8 construct,
9 exceptiongroup,
10 fetchFromGitHub,
11 pandas,
12 pytest-asyncio,
13 pytestCheckHook,
14 python-slugify,
15 setuptools,
16 tenacity,
17}:
18
19buildPythonPackage (finalAttrs: {
20 pname = "nibe";
21 version = "2.22.0";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "yozik04";
26 repo = "nibe";
27 tag = finalAttrs.version;
28 hash = "sha256-mbLasfHPPrZvL+PheMutqvIiyQQoew7dGIPGekuk0Oo=";
29 };
30
31 pythonRelaxDeps = [ "async-modbus" ];
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 async-modbus
37 async-timeout
38 construct
39 exceptiongroup
40 tenacity
41 ];
42
43 optional-dependencies = {
44 convert = [
45 pandas
46 python-slugify
47 ];
48 cli = [ asyncclick ];
49 };
50
51 nativeCheckInputs = [
52 aresponses
53 pytest-asyncio
54 pytestCheckHook
55 ]
56 ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies);
57
58 pythonImportsCheck = [ "nibe" ];
59
60 meta = {
61 description = "Library for the communication with Nibe heatpumps";
62 homepage = "https://github.com/yozik04/nibe";
63 changelog = "https://github.com/yozik04/nibe/releases/tag/${finalAttrs.src.tag}";
64 license = lib.licenses.gpl3Plus;
65 maintainers = with lib.maintainers; [ fab ];
66 };
67})