diff --git a/pkgs/development/python-modules/ring-doorbell/default.nix b/pkgs/development/python-modules/ring-doorbell/default.nix new file mode 100644 index 000000000000..f70e4921b9e7 --- /dev/null +++ b/pkgs/development/python-modules/ring-doorbell/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildPythonPackage +, fetchPypi +, isPy3k +, oauthlib +, pytestCheckHook +, pytz +, requests +, requests-mock +, requests_oauthlib +}: + +buildPythonPackage rec { + pname = "ring-doorbell"; + version = "0.7.0"; + disabled = !isPy3k; + + src = fetchPypi { + pname = "ring_doorbell"; + inherit version; + sha256 = "1qnx9q9rzxhh0pygl3f9bg21b5zv7csv9h1w4zngdvsphbs0yiwg"; + }; + + propagatedBuildInputs = [ + oauthlib + pytz + requests + requests_oauthlib + ]; + + checkInputs = [ + pytestCheckHook + requests-mock + ]; + + pythonImportsCheck = [ "ring_doorbell" ]; + + meta = with lib; { + homepage = "https://github.com/tchellomello/python-ring-doorbell"; + description = "A Python library to communicate with Ring Door Bell (https://ring.com/)"; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ graham33 ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index bc9768a7345c..042246db04b1 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -679,7 +679,7 @@ "rest_command" = ps: with ps; [ ]; "rflink" = ps: with ps; [ ]; # missing inputs: rflink "rfxtrx" = ps: with ps; [ ]; # missing inputs: pyRFXtrx - "ring" = ps: with ps; [ ha-ffmpeg ]; # missing inputs: ring_doorbell + "ring" = ps: with ps; [ ha-ffmpeg ring-doorbell ]; "ripple" = ps: with ps; [ ]; # missing inputs: python-ripple-api "risco" = ps: with ps; [ pyrisco ]; "rmvtransport" = ps: with ps; [ PyRMVtransport ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 2ddd4a45323c..8931bf65b5cd 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -23,6 +23,11 @@ let (mkOverride "astral" "1.10.1" "d2a67243c4503131c856cafb1b1276de52a86e5b8a1d507b7e08bee51cb67bf1") + # Pinned due to bug in ring-doorbell 0.7.0 + # https://github.com/tchellomello/python-ring-doorbell/issues/240 + (mkOverride "ring-doorbell" "0.6.2" + "fbd537722a27b3b854c26506d894b7399bb8dc57ff36083285971227a2d46560") + # hass-frontend does not exist in python3.pkgs (self: super: { hass-frontend = self.callPackage ./frontend.nix { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a392ef3764f1..4a606a6726ac 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6969,6 +6969,8 @@ in { rig = callPackage ../development/python-modules/rig { }; + ring-doorbell = callPackage ../development/python-modules/ring-doorbell { }; + ripser = callPackage ../development/python-modules/ripser { }; rising = callPackage ../development/python-modules/rising { };