1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, netifaces
6, pycryptodome
7, pytest-asyncio
8, pytestCheckHook
9}:
10
11buildPythonPackage rec {
12 pname = "greeclimate";
13 version = "0.12.5";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.6";
17
18 src = fetchFromGitHub {
19 owner = "cmroche";
20 repo = "greeclimate";
21 rev = version;
22 sha256 = "sha256-Lu6DxYrK3WgRC09QQXZLIgYSIaWydcEofNiA1PKP8Ek=";
23 };
24
25 propagatedBuildInputs = [
26 netifaces
27 pycryptodome
28 ];
29
30 checkInputs = [
31 pytest-asyncio
32 pytestCheckHook
33 ];
34
35 pythonImportsCheck = [
36 "greeclimate"
37 "greeclimate.device"
38 "greeclimate.discovery"
39 "greeclimate.exceptions"
40 "greeclimate.network"
41 ];
42
43 meta = with lib; {
44 description = "Discover, connect and control Gree based minisplit systems";
45 homepage = "https://github.com/cmroche/greeclimate";
46 license = licenses.gpl3Only;
47 maintainers = with maintainers; [ dotlambda ];
48 };
49}