1{ 2 lib, 3 awesomeversion, 4 buildPythonPackage, 5 click, 6 crcmod, 7 fetchFromGitHub, 8 getmac, 9 intelhex, 10 paho-mqtt, 11 pyserial-asyncio-fast, 12 pyserial, 13 pytest-sugar, 14 pytest-timeout, 15 pytestCheckHook, 16 setuptools, 17 voluptuous, 18}: 19 20buildPythonPackage rec { 21 pname = "pymysensors"; 22 version = "0.26.0"; 23 pyproject = true; 24 25 src = fetchFromGitHub { 26 owner = "theolind"; 27 repo = "pymysensors"; 28 tag = version; 29 hash = "sha256-iND3MEKEruqCdsqJJExm+SA4Z2e87I45fsI4wbnIPRc="; 30 }; 31 32 build-system = [ setuptools ]; 33 34 dependencies = [ 35 awesomeversion 36 click 37 crcmod 38 getmac 39 intelhex 40 pyserial 41 pyserial-asyncio-fast 42 voluptuous 43 ]; 44 45 optional-dependencies = { 46 mqtt-client = [ paho-mqtt ]; 47 }; 48 49 nativeCheckInputs = [ 50 pytest-sugar 51 pytest-timeout 52 pytestCheckHook 53 ]; 54 55 pythonImportsCheck = [ "mysensors" ]; 56 57 meta = with lib; { 58 description = "Python API for talking to a MySensors gateway"; 59 homepage = "https://github.com/theolind/pymysensors"; 60 changelog = "https://github.com/theolind/pymysensors/releases/tag/${src.tag}"; 61 license = licenses.mit; 62 maintainers = with maintainers; [ fab ]; 63 mainProgram = "pymysensors"; 64 }; 65}