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