nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
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 tabulate,
14}:
15
16buildPythonPackage rec {
17 pname = "roombapy";
18 version = "1.9.1";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = "pschmitt";
23 repo = "roombapy";
24 tag = version;
25 hash = "sha256-63PqNmJC0IWPPMVyZdKoZikvBA4phMcYxlTBk/m1cq0=";
26 };
27
28 nativeBuildInputs = [
29 poetry-core
30 ];
31
32 pythonRelaxDeps = [ "orjson" ];
33
34 propagatedBuildInputs = [
35 mashumaro
36 orjson
37 paho-mqtt
38 ];
39
40 optional-dependencies.cli = [
41 click
42 tabulate
43 ];
44
45 nativeCheckInputs = [
46 amqtt
47 pytest-asyncio
48 pytestCheckHook
49 ];
50
51 disabledTestPaths = [
52 # Requires network access
53 "tests/test_discovery.py"
54 ];
55
56 disabledTests = [
57 # Test want to connect to a local MQTT broker
58 "test_roomba_connect"
59 ];
60
61 pythonImportsCheck = [ "roombapy" ];
62
63 meta = {
64 description = "Python program and library to control Wi-Fi enabled iRobot Roombas";
65 mainProgram = "roombapy";
66 homepage = "https://github.com/pschmitt/roombapy";
67 changelog = "https://github.com/pschmitt/roombapy/releases/tag/${src.tag}";
68 license = lib.licenses.mit;
69 maintainers = [ ];
70 };
71}