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