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