1{ lib
2, amqtt
3, buildPythonPackage
4, fetchFromGitHub
5, paho-mqtt
6, poetry-core
7, pytest-asyncio
8, pytestCheckHook
9, pythonOlder
10}:
11
12buildPythonPackage rec {
13 pname = "roombapy";
14 version = "1.6.4";
15 format = "pyproject";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchFromGitHub {
20 owner = "pschmitt";
21 repo = "roombapy";
22 rev = version;
23 sha256 = "sha256-EN+em+lULAUplXlhcU409ZVPk9BfMmD2oNwO0ETuqoA=";
24 };
25
26 nativeBuildInputs = [
27 poetry-core
28 ];
29
30 propagatedBuildInputs = [
31 paho-mqtt
32 ];
33
34 checkInputs = [
35 amqtt
36 pytest-asyncio
37 pytestCheckHook
38 ];
39
40 disabledTestPaths = [
41 # Requires network access
42 "tests/test_discovery.py"
43 ];
44
45 disabledTests = [
46 # Test want to connect to a local MQTT broker
47 "test_roomba_connect"
48 ];
49
50 pythonImportsCheck = [
51 "roombapy"
52 ];
53
54 meta = with lib; {
55 description = "Python program and library to control Wi-Fi enabled iRobot Roombas";
56 homepage = "https://github.com/pschmitt/roombapy";
57 license = licenses.mit;
58 maintainers = with maintainers; [ justinas ];
59 };
60}