diff --git a/pkgs/development/python-modules/amqtt/default.nix b/pkgs/development/python-modules/amqtt/default.nix new file mode 100644 index 00000000000..8ab0e7a7c0c --- /dev/null +++ b/pkgs/development/python-modules/amqtt/default.nix @@ -0,0 +1,64 @@ +{ lib +, buildPythonPackage +, docopt +, fetchFromGitHub +, hypothesis +, passlib +, poetry-core +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, pyyaml +, transitions +, websockets +}: + +buildPythonPackage rec { + pname = "amqtt"; + version = "0.10.0-alpha.3"; + format = "pyproject"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "Yakifo"; + repo = pname; + rev = "v${version}"; + sha256 = "0wz85ykjgi2174qcdgpakmc4m0p96v62az7pvc9hyallq1v1k4n6"; + }; + + nativeBuildInputs = [ poetry-core ]; + + propagatedBuildInputs = [ + docopt + passlib + pyyaml + transitions + websockets + ]; + + checkInputs = [ + hypothesis + pytest-asyncio + pytestCheckHook + ]; + + disabledTestPaths = [ + # Test are not ported from hbmqtt yet + "tests/test_cli.py" + "tests/test_client.py" + ]; + + disabledTests = [ + # Requires network access + "test_connect_tcp" + ]; + + pythonImportsCheck = [ "amqtt" ]; + + meta = with lib; { + description = "Python MQTT client and broker implementation"; + homepage = "https://amqtt.readthedocs.io/"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/roombapy/default.nix b/pkgs/development/python-modules/roombapy/default.nix index 9c438bde756..459037d6191 100644 --- a/pkgs/development/python-modules/roombapy/default.nix +++ b/pkgs/development/python-modules/roombapy/default.nix @@ -1,31 +1,42 @@ -{ buildPythonPackage +{ lib +, amqtt +, buildPythonPackage , fetchFromGitHub -, hbmqtt -, lib , paho-mqtt -, poetry +, poetry-core , pytest-asyncio , pytestCheckHook +, pythonOlder }: buildPythonPackage rec { pname = "roombapy"; - version = "1.6.2-1"; + version = "1.6.3"; + format = "pyproject"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "pschmitt"; repo = "roombapy"; rev = version; - sha256 = "14k7bys479xwpa4alpdwphzmxm3x8kc48nfqnshn1wj94vyxc425"; + sha256 = "sha256-GkDfIC2jx4Mpguk/Wu45pZw0czhabJwTz58WYSLCOV8="; }; - format = "pyproject"; + nativeBuildInputs = [ poetry-core ]; - nativeBuildInputs = [ poetry ]; propagatedBuildInputs = [ paho-mqtt ]; - checkInputs = [ hbmqtt pytest-asyncio pytestCheckHook ]; - pytestFlagsArray = [ "tests/" "--ignore=tests/test_discovery.py" ]; + checkInputs = [ + amqtt + pytest-asyncio + pytestCheckHook + ]; + + disabledTestPaths = [ + # Requires network access + "tests/test_discovery.py" + ]; + pythonImportsCheck = [ "roombapy" ]; meta = with lib; { diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index f1349e52252..9540f2818dc 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -333,6 +333,7 @@ in with py.pkgs; buildPythonApplication rec { "rituals_perfume_genie" "rmvtransport" "roku" + "roomba" "rss_feed_template" "ruckus_unleashed" "safe_mode" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 782954cfb9b..d5eaffcb102 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -387,6 +387,8 @@ in { amqplib = callPackage ../development/python-modules/amqplib { }; + amqtt = callPackage ../development/python-modules/amqtt { }; + android-backup = callPackage ../development/python-modules/android-backup { }; androidtv = callPackage ../development/python-modules/androidtv { };