1{ lib 2, buildPythonPackage 3, base36 4, cryptography 5, curve25519-donna 6, ecdsa 7, fetchFromGitHub 8, h11 9, pyqrcode 10, pytest-asyncio 11, pytest-timeout 12, pytestCheckHook 13, pythonOlder 14, zeroconf 15}: 16 17buildPythonPackage rec { 18 pname = "hap-python"; 19 version = "4.3.0"; 20 disabled = pythonOlder "3.6"; 21 22 src = fetchFromGitHub { 23 owner = "ikalchev"; 24 repo = "HAP-python"; 25 rev = "v${version}"; 26 sha256 = "sha256-G4KL6iMeVn/tmvFtFL8vyqHGNfqk6j8iG4tDK9VpCyM="; 27 }; 28 29 propagatedBuildInputs = [ 30 base36 31 cryptography 32 curve25519-donna 33 ecdsa 34 h11 35 pyqrcode 36 zeroconf 37 ]; 38 39 checkInputs = [ 40 pytest-asyncio 41 pytest-timeout 42 pytestCheckHook 43 ]; 44 45 disabledTestPaths = [ 46 # Disable tests requiring network access 47 "tests/test_accessory_driver.py" 48 "tests/test_hap_handler.py" 49 "tests/test_hap_protocol.py" 50 ]; 51 52 disabledTests = [ 53 "test_persist_and_load" 54 "test_we_can_connect" 55 "test_idle_connection_cleanup" 56 "test_we_can_start_stop" 57 "test_push_event" 58 "test_bridge_run_stop" 59 "test_migration_to_include_client_properties" 60 ]; 61 62 pythonImportsCheck = [ "pyhap" ]; 63 64 meta = with lib; { 65 homepage = "https://github.com/ikalchev/HAP-python"; 66 description = "HomeKit Accessory Protocol implementation in python"; 67 license = licenses.asl20; 68 maintainers = with maintainers; [ oro ]; 69 }; 70}