1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 certifi,
6 scapy,
7 urllib3,
8 semantic-version,
9 aiohttp,
10 jsons,
11 requests,
12 # Test inputs
13 pytestCheckHook,
14 pyyaml,
15 pytest-asyncio,
16 async-timeout,
17}:
18
19buildPythonPackage rec {
20 pname = "plugp100";
21 version = "5.1.4";
22
23 src = fetchFromGitHub {
24 owner = "petretiandrea";
25 repo = "plugp100";
26 tag = version;
27 sha256 = "sha256-a/Rv5imVJOJNaLzPozK8+XMZZsR5HyIXbCmq2Flkd+I=";
28 };
29
30 propagatedBuildInputs = [
31 certifi
32 jsons
33 requests
34 aiohttp
35 semantic-version
36 scapy
37 urllib3
38 pyyaml
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 pytest-asyncio
44 async-timeout
45 ];
46
47 disabledTestPaths = [
48 "tests/integration/"
49 "tests/unit/hub_child/"
50 "tests/unit/test_plug_strip.py"
51 "tests/unit/test_hub.py "
52 "tests/unit/test_klap_protocol.py"
53 ];
54
55 meta = with lib; {
56 description = "Python library to control Tapo Plug P100 devices";
57 homepage = "https://github.com/petretiandrea/plugp100";
58 license = licenses.gpl3;
59 maintainers = with maintainers; [ pyle ];
60 };
61}