diff --git a/pkgs/development/python-modules/powerfox/default.nix b/pkgs/development/python-modules/powerfox/default.nix new file mode 100644 index 000000000000..0ca94792b879 --- /dev/null +++ b/pkgs/development/python-modules/powerfox/default.nix @@ -0,0 +1,58 @@ +{ + lib, + aiohttp, + aresponses, + buildPythonPackage, + fetchFromGitHub, + mashumaro, + orjson, + poetry-core, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + pythonOlder, + syrupy, + yarl, +}: + +buildPythonPackage rec { + pname = "powerfox"; + version = "1.1.0"; + pyproject = true; + + disabled = pythonOlder "3.11"; + + src = fetchFromGitHub { + owner = "klaasnicolaas"; + repo = "python-powerfox"; + tag = "v${version}"; + hash = "sha256-stHZWGkISsemRUModIlE5CqYVVu3Mdt4ksW5tBewEDo="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + aiohttp + mashumaro + orjson + yarl + ]; + + nativeCheckInputs = [ + aresponses + pytest-asyncio + pytest-cov-stub + pytestCheckHook + syrupy + ]; + + pythonImportsCheck = [ "powerfox" ]; + + meta = { + description = "Asynchronous Python client for the Powerfox devices"; + homepage = "https://github.com/klaasnicolaas/python-powerfox"; + changelog = "https://github.com/klaasnicolaas/python-powerfox/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index cb719aea0dac..035451a2732c 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -4274,7 +4274,8 @@ ]; "powerfox" = ps: with ps; [ - ]; # missing inputs: powerfox + powerfox + ]; "powerwall" = ps: with ps; [ tesla-powerwall @@ -7070,6 +7071,7 @@ "plugwise" "point" "poolsense" + "powerfox" "powerwall" "private_ble_device" "profiler" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3133a41b5a1f..481a660c4f47 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10989,6 +10989,8 @@ self: super: with self; { powerapi = callPackage ../development/python-modules/powerapi { }; + powerfox = callPackage ../development/python-modules/powerfox { }; + powerline = callPackage ../development/python-modules/powerline { }; powerline-mem-segment = callPackage ../development/python-modules/powerline-mem-segment { };