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