1{
2 lib,
3 aiohttp,
4 orjson,
5 faust-cchardet,
6 aiodns,
7 brotli,
8 buildPythonPackage,
9 fetchFromGitHub,
10 pythonOlder,
11 setuptools,
12}:
13
14buildPythonPackage rec {
15 pname = "aiosonos";
16 version = "0.1.9";
17 pyproject = true;
18
19 disabled = pythonOlder "3.11";
20
21 src = fetchFromGitHub {
22 owner = "music-assistant";
23 repo = "aiosonos";
24 tag = version;
25 hash = "sha256-15zGeYspuWR5w1yGHXfXhmUeV4p+/jhXrnkZ98XW/LI=";
26 };
27
28 postPatch = ''
29 substituteInPlace pyproject.toml \
30 --replace-fail 'version = "0.0.0"' 'version = "${version}"'
31 '';
32
33 build-system = [ setuptools ];
34
35 dependencies = [
36 aiohttp
37 orjson
38 faust-cchardet
39 aiodns
40 brotli
41 ];
42
43 doCheck = false; # no tests
44
45 pythonImportsCheck = [
46 "aiosonos"
47 "aiosonos.api"
48 ];
49
50 meta = {
51 description = "Async python library to communicate with Sonos devices ";
52 homepage = "https://github.com/music-assistant/aiosonos";
53 changelog = "https://github.com/music-assistant/aiosonos/releases/tag/${version}";
54 license = [ lib.licenses.asl20 ];
55 maintainers = [ lib.maintainers.autrimpo ];
56 };
57}