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