From 973c3fb696ab862b7299a3e8259d252d5372a371 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Wed, 25 Feb 2026 17:04:44 -0800 Subject: [PATCH 1/2] python3Packages.greenplanet-energy-api: init at 0.1.8 Add a new Python package for the Green Planet Energy API library. This is an async Python library for querying the Green Planet Energy API. - Uses fetchFromGitHub with the latest v0.1.8 tag - Follows the finalAttrs pattern as per nixpkgs conventions - Maintainer: jamiemagee - All 25 test cases pass with 94% coverage --- .../greenplanet-energy-api/default.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/greenplanet-energy-api/default.nix 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/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 { }; From fefddf939cf8c4bcab5809680252b3d4fa162f51 Mon Sep 17 00:00:00 2001 From: Jamie Magee Date: Wed, 25 Feb 2026 17:04:49 -0800 Subject: [PATCH 2/2] home-assistant: regenerate component packages Update Home Assistant component package mappings following the addition of greenplanet-energy-api and other package changes. --- pkgs/servers/home-assistant/component-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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"