1{ lib
2, aiohttp
3, async-timeout
4, buildPythonPackage
5, click
6, construct
7, dacite
8, fetchFromGitHub
9, paho-mqtt
10, poetry-core
11, pycryptodome
12, pytest-asyncio
13, pytestCheckHook
14, pythonOlder
15}:
16
17buildPythonPackage rec {
18 pname = "python-roborock";
19 version = "0.18.6";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "humbertogontijo";
26 repo = "python-roborock";
27 rev = "refs/tags/v${version}";
28 hash = "sha256-7fJfN5pOHmxjjivFNhfp6ZK8jTBbuJARfEZkzrnsg4w=";
29 };
30
31 nativeBuildInputs = [
32 poetry-core
33 ];
34
35 propagatedBuildInputs = [
36 aiohttp
37 async-timeout
38 click
39 construct
40 dacite
41 paho-mqtt
42 pycryptodome
43 ];
44
45 nativeCheckInputs = [
46 pytest-asyncio
47 pytestCheckHook
48 ];
49
50 pythonImportsCheck = [
51 "roborock"
52 ];
53
54 meta = with lib; {
55 description = "Python library & console tool for controlling Roborock vacuum";
56 homepage = "https://github.com/humbertogontijo/python-roborock";
57 changelog = "https://github.com/humbertogontijo/python-roborock/blob/v${version}/CHANGELOG.md";
58 license = licenses.gpl3Only;
59 maintainers = with maintainers; [ fab ];
60 };
61}