diff --git a/pkgs/development/python-modules/pyecoforest/default.nix b/pkgs/development/python-modules/pyecoforest/default.nix new file mode 100644 index 000000000000..5d1d716c4025 --- /dev/null +++ b/pkgs/development/python-modules/pyecoforest/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, httpx +, poetry-core +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, respx +}: + +buildPythonPackage rec { + pname = "pyecoforest"; + version = "0.3.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "pjanuario"; + repo = "pyecoforest"; + rev = "refs/tags/v${version}"; + hash = "sha256-GBt7uHppWLq5nIIVwYsOWmLjWjcwdvJwDE/Gu2KnSIA="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "--cov=pyecoforest --cov-report=term-missing:skip-covered" "" + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + httpx + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + respx + ]; + + pythonImportsCheck = [ + "pyecoforest" + ]; + + meta = with lib; { + description = "Module for interacting with Ecoforest devices"; + homepage = "https://github.com/pjanuario/pyecoforest"; + changelog = "https://github.com/pjanuario/pyecoforest/blob/${version}/CHANGELOG.md"; + license = 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 2082b9642463..46f48bacb630 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -957,7 +957,8 @@ python-ecobee-api ]; "ecoforest" = ps: with ps; [ - ]; # missing inputs: pyecoforest + pyecoforest + ]; "econet" = ps: with ps; [ pyeconet ]; @@ -5133,6 +5134,7 @@ "eafm" "easyenergy" "ecobee" + "ecoforest" "econet" "ecowitt" "edl21" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c02f4d85f3d0..b035887f9b67 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9929,6 +9929,8 @@ self: super: with self; { pyeclib = callPackage ../development/python-modules/pyeclib { }; + pyecoforest = callPackage ../development/python-modules/pyecoforest { }; + pyeconet = callPackage ../development/python-modules/pyeconet { }; pyecowitt = callPackage ../development/python-modules/pyecowitt { };