diff --git a/pkgs/development/python-modules/pycync/default.nix b/pkgs/development/python-modules/pycync/default.nix new file mode 100644 index 000000000000..62dcf3c65b36 --- /dev/null +++ b/pkgs/development/python-modules/pycync/default.nix @@ -0,0 +1,49 @@ +{ + aiohttp, + buildPythonPackage, + fetchFromGitHub, + hatchling, + lib, + pytest-asyncio, + pytest-mock, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pycync"; + version = "0.4.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "Kinachi249"; + repo = "pycync"; + tag = "v${version}"; + hash = "sha256-PDCS+ucfO5RRvTshGGjxir3ez7L405k5tL5svMxZMsg="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + aiohttp + ]; + + pythonImportsCheck = [ "pycync" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytest-mock + pytestCheckHook + ]; + + preCheck = '' + cd tests + ''; + + meta = { + changelog = "https://github.com/Kinachi249/pycync/releases/tag/${src.tag}"; + description = "Python API library for Cync smart devices"; + homepage = "https://github.com/Kinachi249/pycync"; + license = lib.licenses.gpl3Plus; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index f45e2ac8cbf4..f961ebe21c10 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -1057,7 +1057,8 @@ ]; "cync" = ps: with ps; [ - ]; # missing inputs: pycync + pycync + ]; "dacia" = ps: with ps; [ ]; @@ -7138,6 +7139,7 @@ "cpuspeed" "crownstone" "cups" + "cync" "daikin" "datadog" "date" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dea72c2d724b..c84fd69d89c7 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12828,6 +12828,8 @@ self: super: with self; { pycycling = callPackage ../development/python-modules/pycycling { }; + pycync = callPackage ../development/python-modules/pycync { }; + pycyphal = callPackage ../development/python-modules/pycyphal { }; pydaikin = callPackage ../development/python-modules/pydaikin { };