diff --git a/pkgs/development/python-modules/prowlpy/default.nix b/pkgs/development/python-modules/prowlpy/default.nix new file mode 100644 index 000000000000..1c854f0136e8 --- /dev/null +++ b/pkgs/development/python-modules/prowlpy/default.nix @@ -0,0 +1,64 @@ +{ + buildPythonPackage, + click, + fetchFromGitHub, + httpx, + lib, + loguru, + pytest-asyncio, + pytest-cov-stub, + pytestCheckHook, + respx, + setuptools, + xmltodict, +}: + +buildPythonPackage rec { + pname = "prowlpy"; + version = "1.1.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "OMEGARAZER"; + repo = "prowlpy"; + tag = "v${version}"; + hash = "sha256-AotlO1CTe1jv9nu9drQWXYi445Pl5c+89/ep3i+vWwA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + httpx + xmltodict + ] + ++ httpx.optional-dependencies.http2; + + optional-dependencies = { + cli = [ + click + loguru + ]; + }; + + pythonImportsCheck = [ "prowlpy" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-cov-stub + pytestCheckHook + respx + ] + ++ lib.concatLists (lib.attrValues optional-dependencies); + + # tests fail without this + pytestFlags = [ "-v" ]; + + meta = { + changelog = "https://github.com/OMEGARAZER/prowlpy/blob/${src.tag}/CHANGELOG.md"; + description = "Send push notifications to iPhones using the Prowl API"; + homepage = "https://github.com/OMEGARAZER/prowlpy"; + license = lib.licenses.gpl3Only; + mainProgram = "prowlpy"; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 1c819fccabf1..3dd771bb4a66 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -4734,7 +4734,8 @@ ]; "prowl" = ps: with ps; [ - ]; # missing inputs: prowlpy + prowlpy + ]; "proximity" = ps: with ps; [ ]; @@ -7715,6 +7716,7 @@ "progettihwsw" "prometheus" "prosegur" + "prowl" "proximity" "prusalink" "ps4" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 24e5c4e35dbd..2f64e762c71d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12471,6 +12471,8 @@ self: super: with self; { prov = callPackage ../development/python-modules/prov { }; + prowlpy = callPackage ../development/python-modules/prowlpy { }; + prox-tv = callPackage ../development/python-modules/prox-tv { }; proxmoxer = callPackage ../development/python-modules/proxmoxer { };