diff --git a/pkgs/development/python-modules/pywemo/default.nix b/pkgs/development/python-modules/pywemo/default.nix new file mode 100644 index 00000000000..c7f36fec35a --- /dev/null +++ b/pkgs/development/python-modules/pywemo/default.nix @@ -0,0 +1,49 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, ifaddr +, lxml +, poetry-core +, pytest-vcr +, pytestCheckHook +, pythonOlder +, requests +, urllib3 +}: + +buildPythonPackage rec { + pname = "pywemo"; + version = "0.6.4"; + format = "pyproject"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = version; + sha256 = "1hm1vs6m65vqar0lcjnynz0d9y9ri5s75fzhvp0yfjkcnp06gnfa"; + }; + + nativeBuildInputs = [ poetry-core ]; + + propagatedBuildInputs = [ + ifaddr + requests + urllib3 + lxml + ]; + + checkInputs = [ + pytest-vcr + pytestCheckHook + ]; + + pythonImportsCheck = [ "pywemo" ]; + + meta = with lib; { + description = "Python module to discover and control WeMo devices"; + homepage = "https://github.com/pywemo/pywemo"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 66b38c5ffe3..e1ff8d96bb8 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -937,7 +937,7 @@ "webhook" = ps: with ps; [ aiohttp-cors ]; "webostv" = ps: with ps; [ aiopylgtv ]; "websocket_api" = ps: with ps; [ aiohttp-cors ]; - "wemo" = ps: with ps; [ ]; # missing inputs: pywemo + "wemo" = ps: with ps; [ pywemo ]; "whois" = ps: with ps; [ python-whois ]; "wiffi" = ps: with ps; [ wiffi ]; "wilight" = ps: with ps; [ pywilight ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 535e1c6ce83..5e7e97924ad 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -367,6 +367,7 @@ in with py.pkgs; buildPythonApplication rec { "weather" "webhook" "websocket_api" + "wemo" "wled" "workday" "worldclock" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bf5777629be..0ebbe6b5210 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7093,6 +7093,8 @@ in { pywebview = callPackage ../development/python-modules/pywebview { }; + pywemo = callPackage ../development/python-modules/pywemo { }; + pywick = callPackage ../development/python-modules/pywick { }; pywilight = callPackage ../development/python-modules/pywilight { };