1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 aiohttp,
7 aiomqtt,
8 freenub,
9 mashumaro,
10}:
11
12buildPythonPackage rec {
13 pname = "python-snoo";
14 version = "0.9.0";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "Lash-L";
19 repo = "python-snoo";
20 tag = "v${version}";
21 hash = "sha256-HLX8eVhAZbydZNbBAwi7F4qloZImPZlts4CDyFLIeGE=";
22 };
23
24 postPatch = ''
25 substituteInPlace pyproject.toml \
26 --replace-fail poetry-core==1.8.0 poetry-core
27 '';
28
29 build-system = [ poetry-core ];
30
31 dependencies = [
32 aiohttp
33 aiomqtt
34 freenub
35 mashumaro
36 ];
37
38 pythonImportsCheck = [ "python_snoo" ];
39
40 # upstream has no tests
41 doCheck = false;
42
43 meta = {
44 changelog = "https://github.com/Lash-L/python-snoo/blob/${src.tag}/CHANGELOG.md";
45 description = "Control Snoo devices via python and get auto updates";
46 homepage = "https://github.com/Lash-L/python-snoo";
47 license = lib.licenses.gpl3Only;
48 maintainers = with lib.maintainers; [ dotlambda ];
49 };
50}