diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix new file mode 100644 index 00000000000..5b8925b0a4c --- /dev/null +++ b/pkgs/development/python-modules/simplisafe-python/default.nix @@ -0,0 +1,61 @@ +{ lib +, aiohttp +, aresponses +, asynctest +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pytest-asyncio +, pytest-cov +, pytestCheckHook +, python-engineio +, python-socketio +, pythonOlder +, pytz +, voluptuous +, websockets +}: + +buildPythonPackage rec { + pname = "simplisafe-python"; + version = "9.6.9"; + format = "pyproject"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "bachya"; + repo = pname; + rev = version; + sha256 = "1q5w5pvrgj94bzd5wig79l4hipkfrcdah54rvwyi7b8q46gw77sg"; + }; + + nativeBuildInputs = [ poetry-core ]; + + propagatedBuildInputs = [ + aiohttp + python-engineio + python-socketio + pytz + voluptuous + websockets + ]; + + checkInputs = [ + aresponses + asynctest + pytest-asyncio + pytest-cov + pytestCheckHook + ]; + + disabledTestPaths = [ "examples/" ]; + + pythonImportsCheck = [ "simplipy" ]; + + meta = with lib; { + description = "Python library the SimpliSafe API"; + homepage = "https://simplisafe-python.readthedocs.io/"; + 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 98fba35b9f1..e9c5f2740c0 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -741,7 +741,7 @@ "sighthound" = ps: with ps; [ pillow simplehound ]; "signal_messenger" = ps: with ps; [ ]; # missing inputs: pysignalclirestapi "simplepush" = ps: with ps; [ ]; # missing inputs: simplepush - "simplisafe" = ps: with ps; [ ]; # missing inputs: simplisafe-python + "simplisafe" = ps: with ps; [ simplisafe-python ]; "simulated" = ps: with ps; [ ]; "sinch" = ps: with ps; [ ]; # missing inputs: clx-sdk-xms "sisyphus" = ps: with ps; [ ]; # missing inputs: sisyphus-control diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index dc61317876b..0fd906bdbe1 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -274,6 +274,7 @@ in with py.pkgs; buildPythonApplication rec { "search" "shell_command" "shopping_list" + "simplisafe" "simulated" "sensor" "smarttub" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 630b2c9685d..ebed7711114 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7633,6 +7633,8 @@ in { simple-websocket-server = callPackage ../development/python-modules/simple-websocket-server { }; + simplisafe-python = callPackage ../development/python-modules/simplisafe-python { }; + simpy = callPackage ../development/python-modules/simpy { }; singledispatch = callPackage ../development/python-modules/singledispatch { };