1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchFromGitHub,
6 paho-mqtt,
7 pytestCheckHook,
8 pythonOlder,
9 pycryptodomex,
10 requests,
11 retrying,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "meross-iot";
17 version = "0.4.7.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "albertogeniola";
24 repo = "MerossIot";
25 rev = "refs/tags/${version}";
26 hash = "sha256-BcWluaNyo6G7OuIV6yXzc7xcBgQlRR9HbjbNnLigZcE=";
27 };
28
29 build-system = [ setuptools ];
30
31 dependencies = [
32 aiohttp
33 paho-mqtt
34 pycryptodomex
35 requests
36 retrying
37 ];
38
39 # Test require network access
40 doCheck = false;
41
42 pythonImportsCheck = [ "meross_iot" ];
43
44 meta = with lib; {
45 description = "Python library to interact with Meross devices";
46 homepage = "https://github.com/albertogeniola/MerossIot";
47 changelog = "https://github.com/albertogeniola/MerossIot/releases/tag/${version}";
48 license = with licenses; [ mit ];
49 maintainers = with maintainers; [ fab ];
50 };
51}