at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 aiocoap, 5 aiohappyeyeballs, 6 async-interrupt, 7 bleak, 8 bleak-retry-connector, 9 chacha20poly1305, 10 chacha20poly1305-reuseable, 11 commentjson, 12 cryptography, 13 fetchFromGitHub, 14 orjson, 15 poetry-core, 16 pytest-asyncio_0, 17 pytest-aiohttp, 18 pytestCheckHook, 19 pythonOlder, 20 zeroconf, 21}: 22 23buildPythonPackage rec { 24 pname = "aiohomekit"; 25 version = "3.2.18"; 26 pyproject = true; 27 28 disabled = pythonOlder "3.10"; 29 30 src = fetchFromGitHub { 31 owner = "Jc2k"; 32 repo = "aiohomekit"; 33 tag = version; 34 hash = "sha256-0RCKJqhD/SMMB21ZwrR81jmb6yenZxGPQOQ+TkXb0Uo="; 35 }; 36 37 build-system = [ poetry-core ]; 38 39 dependencies = [ 40 aiocoap 41 aiohappyeyeballs 42 async-interrupt 43 bleak 44 bleak-retry-connector 45 chacha20poly1305 46 chacha20poly1305-reuseable 47 commentjson 48 cryptography 49 orjson 50 zeroconf 51 ]; 52 53 nativeCheckInputs = [ 54 (pytest-aiohttp.override { pytest-asyncio = pytest-asyncio_0; }) 55 pytestCheckHook 56 ]; 57 58 disabledTestPaths = [ 59 # Tests require network access 60 "tests/test_ip_pairing.py" 61 ]; 62 63 pythonImportsCheck = [ "aiohomekit" ]; 64 65 meta = with lib; { 66 description = "Python module that implements the HomeKit protocol"; 67 longDescription = '' 68 This Python library implements the HomeKit protocol for controlling 69 Homekit accessories. 70 ''; 71 homepage = "https://github.com/Jc2k/aiohomekit"; 72 changelog = "https://github.com/Jc2k/aiohomekit/releases/tag/${src.tag}"; 73 license = licenses.asl20; 74 maintainers = with maintainers; [ fab ]; 75 mainProgram = "aiohomekitctl"; 76 }; 77}