diff --git a/pkgs/development/python-modules/greenplanet-energy-api/default.nix b/pkgs/development/python-modules/greenplanet-energy-api/default.nix new file mode 100644 index 000000000000..f712f3ba3a0a --- /dev/null +++ b/pkgs/development/python-modules/greenplanet-energy-api/default.nix @@ -0,0 +1,47 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + aiohttp, + pytest-asyncio, + pytest-cov, + aioresponses, + pytestCheckHook, +}: + +buildPythonPackage (finalAttrs: { + pname = "greenplanet-energy-api"; + version = "0.1.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "petschni"; + repo = "greenplanet-energy-api"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Ffmb4UUVfFhSNAy3Fq+3ERYSfD09JnrR8rKUV0sXjNI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov + aioresponses + pytestCheckHook + ]; + + pythonImportsCheck = [ "greenplanet_energy_api" ]; + + meta = { + description = "Async Python library for querying the Green Planet Energy API"; + homepage = "https://github.com/petschni/greenplanet-energy-api"; + changelog = "https://github.com/petschni/greenplanet-energy-api/releases/tag/${finalAttrs.src.tag}"; + 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 77249d624c72..b740f4aebd7a 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2260,7 +2260,8 @@ ]; "green_planet_energy" = ps: with ps; [ - ]; # missing inputs: greenplanet-energy-api + greenplanet-energy-api + ]; "greeneye_monitor" = ps: with ps; [ greeneye-monitor @@ -7498,6 +7499,7 @@ "gpslogger" "graphite" "gree" + "green_planet_energy" "greeneye_monitor" "group" "growatt_server" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eccfc6437df9..018d05fc4efd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6658,6 +6658,8 @@ self: super: with self; { # built-in for pypi greenlet = if isPyPy then null else callPackage ../development/python-modules/greenlet { }; + greenplanet-energy-api = callPackage ../development/python-modules/greenplanet-energy-api { }; + greenwavereality = callPackage ../development/python-modules/greenwavereality { }; gremlinpython = callPackage ../development/python-modules/gremlinpython { };