diff --git a/pkgs/development/python-modules/uhooapi/default.nix b/pkgs/development/python-modules/uhooapi/default.nix new file mode 100644 index 000000000000..edb18bd3354c --- /dev/null +++ b/pkgs/development/python-modules/uhooapi/default.nix @@ -0,0 +1,45 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + aiohttp, + pytestCheckHook, + pytest-asyncio, + pytest-cov-stub, + aioresponses, +}: + +buildPythonPackage (finalAttrs: { + pname = "uhooapi"; + version = "1.2.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "getuhoo"; + repo = "uhooapi"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DEb54ZoYe9CaxpCoQVpqbQlaZkDLuqRAjiu8SqiI6b0="; + }; + + build-system = [ setuptools ]; + + dependencies = [ aiohttp ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + pytest-cov-stub + aioresponses + ]; + + pythonImportsCheck = [ "uhooapi" ]; + + meta = { + description = "Python client for uHoo APIs"; + homepage = "https://github.com/getuhoo/uhooapi"; + changelog = "https://github.com/getuhoo/uhooapi/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index b740f4aebd7a..b9d6206e1a21 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -6495,7 +6495,8 @@ ]; "uhoo" = ps: with ps; [ - ]; # missing inputs: uhooapi + uhooapi + ]; "uk_transport" = ps: with ps; [ ]; @@ -8103,6 +8104,7 @@ "twilio" "twinkly" "twitch" + "uhoo" "uk_transport" "ukraine_alarm" "unifi" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 255cbae68748..9803b9226b29 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -20240,6 +20240,8 @@ self: super: with self; { uhi = callPackage ../development/python-modules/uhi { }; + uhooapi = callPackage ../development/python-modules/uhooapi { }; + uiprotect = callPackage ../development/python-modules/uiprotect { }; ujson = callPackage ../development/python-modules/ujson { };