diff --git a/pkgs/development/python-modules/pyosohotwaterapi/default.nix b/pkgs/development/python-modules/pyosohotwaterapi/default.nix new file mode 100644 index 000000000000..bd2b10976a07 --- /dev/null +++ b/pkgs/development/python-modules/pyosohotwaterapi/default.nix @@ -0,0 +1,63 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchFromGitHub +, loguru +, numpy +, pythonOlder +, setuptools +, unasync +, urllib3 +}: + +buildPythonPackage rec { + pname = "pyosohotwaterapi"; + version = "1.1.4"; + pyproject = true; + + disabled = pythonOlder "3.10"; + + src = fetchFromGitHub { + owner = "osohotwateriot"; + repo = "apyosohotwaterapi"; + rev = "refs/tags/${version}"; + hash = "sha256-7FLGmmndrFqSl4oC8QFIYNlFJPr+xbiZG5ZRt4vx8+s="; + }; + + postPatch = '' + # https://github.com/osohotwateriot/apyosohotwaterapi/pull/3 + substituteInPlace requirements.txt \ + --replace "pre-commit" "" + ''; + + nativeBuildInputs = [ + setuptools + unasync + ]; + + propagatedBuildInputs = [ + aiohttp + loguru + numpy + urllib3 + ]; + + preBuild = '' + export HOME=$(mktemp -d) + ''; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ + "apyosoenergyapi" + ]; + + meta = with lib; { + description = "Module for using the OSO Hotwater API"; + homepage = "https://github.com/osohotwateriot/apyosohotwaterapi"; + changelog = "https://github.com/osohotwateriot/apyosohotwaterapi/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 333a256dda61..f5fe41e58878 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10932,6 +10932,8 @@ self: super: with self; { inherit (pkgs) lz4; }; + pyosohotwaterapi = callPackage ../development/python-modules/pyosohotwaterapi { }; + pyotgw = callPackage ../development/python-modules/pyotgw { }; pyotp = callPackage ../development/python-modules/pyotp { };