diff --git a/pkgs/development/python-modules/energyzero/default.nix b/pkgs/development/python-modules/energyzero/default.nix new file mode 100644 index 000000000000..ae70514ed863 --- /dev/null +++ b/pkgs/development/python-modules/energyzero/default.nix @@ -0,0 +1,61 @@ +{ lib +, aiohttp +, aresponses +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pytest-asyncio +, pytest-freezer +, pytestCheckHook +, pythonOlder +, yarl +}: + +buildPythonPackage rec { + pname = "energyzero"; + version = "0.4.0"; + format = "pyproject"; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "klaasnicolaas"; + repo = "python-energyzero"; + rev = "refs/tags/v${version}"; + hash = "sha256-QSxr4hfNlpIbLpeQ8tcdRP3dARB/OxTP9cVgf+P63Lw="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace '"0.0.0"' '"${version}"' \ + --replace 'addopts = "--cov"' "" + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + aiohttp + yarl + ]; + + nativeCheckInputs = [ + aresponses + pytest-asyncio + pytest-freezer + pytestCheckHook + ]; + + pythonImportsCheck = [ + "energyzero" + ]; + + meta = with lib; { + description = "Module for getting the dynamic prices from EnergyZero"; + homepage = "https://github.com/klaasnicolaas/python-energyzero"; + changelog = "https://github.com/klaasnicolaas/python-energyzero/releases/tag/v${version}"; + 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 4b148a551adc..2d0c9af9620d 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -935,7 +935,8 @@ sqlalchemy ]; "energyzero" = ps: with ps; [ - ]; # missing inputs: energyzero + energyzero + ]; "enigma2" = ps: with ps; [ openwebifpy ]; @@ -4477,6 +4478,7 @@ "emulated_kasa" "emulated_roku" "energy" + "energyzero" "enocean" "enphase_envoy" "environment_canada" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f7ee91c39e46..c4fca6b26612 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3069,6 +3069,8 @@ self: super: with self; { energyflow = callPackage ../development/python-modules/energyflow { }; + energyzero = callPackage ../development/python-modules/energyzero { }; + enhancements = callPackage ../development/python-modules/enhancements { }; enlighten = callPackage ../development/python-modules/enlighten { };