{ lib, buildPythonPackage, aiocoap, aiohappyeyeballs, async-interrupt, bleak, bleak-retry-connector, chacha20poly1305, chacha20poly1305-reuseable, commentjson, cryptography, fetchFromGitHub, orjson, poetry-core, pytest-asyncio_0, pytest-aiohttp, pytestCheckHook, pythonOlder, zeroconf, }: buildPythonPackage rec { pname = "aiohomekit"; version = "3.2.18"; pyproject = true; disabled = pythonOlder "3.10"; src = fetchFromGitHub { owner = "Jc2k"; repo = "aiohomekit"; tag = version; hash = "sha256-0RCKJqhD/SMMB21ZwrR81jmb6yenZxGPQOQ+TkXb0Uo="; }; build-system = [ poetry-core ]; dependencies = [ aiocoap aiohappyeyeballs async-interrupt bleak bleak-retry-connector chacha20poly1305 chacha20poly1305-reuseable commentjson cryptography orjson zeroconf ]; nativeCheckInputs = [ (pytest-aiohttp.override { pytest-asyncio = pytest-asyncio_0; }) pytestCheckHook ]; disabledTestPaths = [ # Tests require network access "tests/test_ip_pairing.py" ]; pythonImportsCheck = [ "aiohomekit" ]; meta = with lib; { description = "Python module that implements the HomeKit protocol"; longDescription = '' This Python library implements the HomeKit protocol for controlling Homekit accessories. ''; homepage = "https://github.com/Jc2k/aiohomekit"; changelog = "https://github.com/Jc2k/aiohomekit/releases/tag/${src.tag}"; license = licenses.asl20; maintainers = with maintainers; [ fab ]; mainProgram = "aiohomekitctl"; }; }