1{
2 lib,
3 bleak,
4 bleak-retry-connector,
5 boto3,
6 buildPythonPackage,
7 cryptography,
8 fetchFromGitHub,
9 pyopenssl,
10 pythonOlder,
11 pytest-asyncio,
12 pytestCheckHook,
13 requests,
14 setuptools,
15}:
16
17buildPythonPackage rec {
18 pname = "pyswitchbot";
19 version = "0.71.0";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "Danielhiversen";
26 repo = "pySwitchbot";
27 tag = version;
28 hash = "sha256-MFWeU3KaCtEEvsNuSlLrWxZTYgER+/A6nF2yCvmGgTk=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 bleak
35 bleak-retry-connector
36 boto3
37 cryptography
38 pyopenssl
39 requests
40 ];
41
42 nativeCheckInputs = [
43 pytest-asyncio
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "switchbot" ];
48
49 meta = with lib; {
50 description = "Python library to control Switchbot IoT devices";
51 homepage = "https://github.com/Danielhiversen/pySwitchbot";
52 changelog = "https://github.com/Danielhiversen/pySwitchbot/releases/tag/${src.tag}";
53 license = with licenses; [ mit ];
54 maintainers = with maintainers; [ fab ];
55 platforms = platforms.linux;
56 };
57}