1{ lib
2, awesomeversion
3, buildPythonPackage
4, click
5, crcmod
6, fetchFromGitHub
7, getmac
8, intelhex
9, paho-mqtt
10, pyserial
11, pyserial-asyncio
12, pytest-sugar
13, pytest-timeout
14, pytestCheckHook
15, pythonOlder
16, voluptuous
17}:
18
19buildPythonPackage rec {
20 pname = "pymysensors";
21 version = "0.24.1";
22 format = "setuptools";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "theolind";
28 repo = pname;
29 rev = version;
30 hash = "sha256-3t9YrSJf02kc5CuTqPBc/qNJV7yy7Vke4WqhtuOaAYo=";
31 };
32
33 propagatedBuildInputs = [
34 awesomeversion
35 click
36 crcmod
37 getmac
38 intelhex
39 pyserial
40 pyserial-asyncio
41 voluptuous
42 ];
43
44 passthru.optional-dependencies = {
45 mqtt-client = [
46 paho-mqtt
47 ];
48 };
49
50 nativeCheckInputs = [
51 pytest-sugar
52 pytest-timeout
53 pytestCheckHook
54 ];
55
56 pythonImportsCheck = [
57 "mysensors"
58 ];
59
60 meta = with lib; {
61 description = "Python API for talking to a MySensors gateway";
62 homepage = "https://github.com/theolind/pymysensors";
63 license = with licenses; [ mit ];
64 maintainers = with maintainers; [ fab ];
65 };
66}