1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, aiofiles
5, aiohttp
6, async_generator
7, pypubsub
8, pyserial
9, pyserial-asyncio
10, pyyaml
11, pytestCheckHook
12, pythonOlder
13, pytest-cov
14, pytest-asyncio
15, pytest-timeout
16}:
17
18buildPythonPackage rec {
19 pname = "pyinsteon";
20 version = "1.0.13";
21 disabled = pythonOlder "3.6";
22
23 src = fetchFromGitHub {
24 owner = pname;
25 repo = pname;
26 rev = version;
27 sha256 = "sha256-KVwAF+yoU26ktNRKWQ+nrhS1i90xQxAhRAr4VJ+xtl0=";
28 };
29
30 propagatedBuildInputs = [
31 aiofiles
32 aiohttp
33 async_generator
34 pypubsub
35 pyserial
36 pyserial-asyncio
37 pyyaml
38 ];
39
40 checkInputs = [
41 pytest-asyncio
42 pytest-cov
43 pytest-timeout
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "pyinsteon" ];
48
49 meta = with lib; {
50 description = "Python library to support Insteon home automation projects";
51 longDescription = ''
52 This is a Python package to interface with an Insteon Modem. It has been
53 tested to work with most USB or RS-232 serial based devices such as the
54 2413U, 2412S, 2448A7 and Hub models 2242 and 2245.
55 '';
56 homepage = "https://github.com/pyinsteon/pyinsteon";
57 license = with licenses; [ mit ];
58 maintainers = with maintainers; [ fab ];
59 };
60}