diff --git a/pkgs/development/python-modules/pyhik/default.nix b/pkgs/development/python-modules/pyhik/default.nix new file mode 100644 index 000000000000..9c8babd25e98 --- /dev/null +++ b/pkgs/development/python-modules/pyhik/default.nix @@ -0,0 +1,50 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + pythonOlder, + requests, + setuptools, +}: + +buildPythonPackage rec { + pname = "pyhik"; + version = "0.3.2"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "mezz64"; + repo = "pyHik"; + tag = version; + hash = "sha256-GqBHmwzQsnVGK1M2kKV3lQ3s7tsudoxmLC7xxGH55E0="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + requests + ]; + + # Tests are disabled due to fragile XML namespace assertions + doCheck = false; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pyhik" + ]; + + meta = { + description = "Python API to interact with a Hikvision camera event stream and toggle motion detection"; + homepage = "https://github.com/mezz64/pyHik"; + 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 bb3d2c2959a0..8a0da8e0ed59 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2257,7 +2257,8 @@ ]; "hikvision" = ps: with ps; [ - ]; # missing inputs: pyHik + pyhik + ]; "hikvisioncam" = ps: with ps; [ hikvision diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index baf6d4902835..16275f74768b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12844,6 +12844,8 @@ self: super: with self; { pyhidra = callPackage ../development/python-modules/pyhidra { }; + pyhik = callPackage ../development/python-modules/pyhik { }; + pyhive-integration = callPackage ../development/python-modules/pyhive-integration { }; pyhocon = callPackage ../development/python-modules/pyhocon { };