nixos/doh-server: init
[NixPkgs.git] / pkgs / development / python-modules / roombapy / default.nix
blob9c102089cd6bb915c121b4909df544052b4dbaa0
2   lib,
3   amqtt,
4   buildPythonPackage,
5   click,
6   fetchFromGitHub,
7   mashumaro,
8   orjson,
9   paho-mqtt,
10   poetry-core,
11   pytest-asyncio,
12   pytestCheckHook,
13   pythonOlder,
14   tabulate,
17 buildPythonPackage rec {
18   pname = "roombapy";
19   version = "1.8.2";
20   pyproject = true;
22   disabled = pythonOlder "3.10";
24   src = fetchFromGitHub {
25     owner = "pschmitt";
26     repo = "roombapy";
27     tag = version;
28     hash = "sha256-plmdGVfrkdz7pyyAztzZKlDpUjKxBIRtDVeBXoqaB5s=";
29   };
31   nativeBuildInputs = [
32     poetry-core
33   ];
35   pythonRelaxDeps = [ "orjson" ];
37   propagatedBuildInputs = [
38     mashumaro
39     orjson
40     paho-mqtt
41   ];
43   optional-dependencies.cli = [
44     click
45     tabulate
46   ];
48   nativeCheckInputs = [
49     amqtt
50     pytest-asyncio
51     pytestCheckHook
52   ];
54   disabledTestPaths = [
55     # Requires network access
56     "tests/test_discovery.py"
57   ];
59   disabledTests = [
60     # Test want to connect to a local MQTT broker
61     "test_roomba_connect"
62   ];
64   pythonImportsCheck = [ "roombapy" ];
66   meta = with lib; {
67     description = "Python program and library to control Wi-Fi enabled iRobot Roombas";
68     mainProgram = "roombapy";
69     homepage = "https://github.com/pschmitt/roombapy";
70     changelog = "https://github.com/pschmitt/roombapy/releases/tag/${version}";
71     license = licenses.mit;
72     maintainers = [ ];
73   };