{ lib , buildPythonPackage , fetchFromGitHub , click , click-log , dataclasses , pure-pcapy3 , pyserial-asyncio , voluptuous , zigpy , asynctest , pythonOlder , pytestCheckHook , pytest-asyncio , pytest-timeout }: buildPythonPackage rec { pname = "bellows"; version = "0.28.0"; src = fetchFromGitHub { owner = "zigpy"; repo = "bellows"; rev = version; sha256 = "sha256-j1vS6PDvvuJapECn0lKGuBkYwWsyzJaTZDRQPjMsuLk="; }; propagatedBuildInputs = [ click click-log pure-pcapy3 pyserial-asyncio voluptuous zigpy ] ++ lib.optionals (pythonOlder "3.7") [ dataclasses ]; checkInputs = [ pytestCheckHook pytest-asyncio pytest-timeout ] ++ lib.optionals (pythonOlder "3.8") [ asynctest ]; disabledTests = [ # AssertionError: assert 65534 is None # https://github.com/zigpy/bellows/issues/436 "test_startup_nwk_params" ]; pythonImportsCheck = [ "bellows" ]; meta = with lib; { description = "Python module to implement EZSP for EmberZNet devices"; homepage = "https://github.com/zigpy/bellows"; license = licenses.gpl3Plus; maintainers = with maintainers; [ etu mvnetbiz ]; }; }