1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pythonOlder, 6 7 # build-system 8 poetry-core, 9 10 # dependencies 11 mashumaro, 12 orjson, 13 pyserial-asyncio-fast, 14 15 # tests 16 pytestCheckHook, 17}: 18 19buildPythonPackage rec { 20 pname = "aiorussound"; 21 version = "4.8.2"; 22 pyproject = true; 23 24 # requires newer f-strings introduced in 3.12 25 disabled = pythonOlder "3.12"; 26 27 src = fetchFromGitHub { 28 owner = "noahhusby"; 29 repo = "aiorussound"; 30 tag = version; 31 hash = "sha256-5g1LdltGw96EZWWj0Fei8i6l5yslQgicI/oI9jr1w0U="; 32 }; 33 34 build-system = [ poetry-core ]; 35 36 dependencies = [ 37 mashumaro 38 orjson 39 pyserial-asyncio-fast 40 ]; 41 42 nativeCheckInputs = [ 43 pytestCheckHook 44 ]; 45 46 pythonImportsCheck = [ "aiorussound" ]; 47 48 meta = with lib; { 49 changelog = "https://github.com/noahhusby/aiorussound/releases/tag/${src.tag}"; 50 description = "Async python package for interfacing with Russound RIO hardware"; 51 homepage = "https://github.com/noahhusby/aiorussound"; 52 license = licenses.mit; 53 maintainers = with maintainers; [ hexa ]; 54 }; 55}