From b2a31645aad4f300076baf1b37ef20543de1d8d3 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 12 Jan 2023 04:24:14 +0100 Subject: [PATCH] python3Packages.python-matter-server: init at 1.0.8 --- .../python-matter-server/default.nix | 86 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + pkgs/top-level/python-packages.nix | 2 + 3 files changed, 90 insertions(+) create mode 100644 pkgs/development/python-modules/python-matter-server/default.nix diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix new file mode 100644 index 00000000000..06d96a6d6df --- /dev/null +++ b/pkgs/development/python-modules/python-matter-server/default.nix @@ -0,0 +1,86 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + +# build +, setuptools + +# propagates +, aiohttp +, aiorun +, coloredlogs +, dacite +, orjson +, home-assistant-chip-clusters + +# optionals +, home-assistant-chip-core + +# tests +, python +, pytest +, pytest-aiohttp +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "python-matter-server"; + version = "1.0.8"; + format = "pyproject"; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "home-assistant-libs"; + repo = "python-matter-server"; + rev = "refs/tags/${version}"; + hash = "sha256-7w2Gg70Sl84zs55z6Hg8JPtkY9dNzyb1iBC6O4ulr1M="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + propagatedBuildInputs = [ + aiohttp + aiorun + coloredlogs + dacite + orjson + home-assistant-chip-clusters + ]; + + passthru.optional-dependencies = { + server = [ + home-assistant-chip-core + ]; + }; + + checkInputs = [ + pytest-aiohttp + pytestCheckHook + ] + ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); + + preCheck = let + pythonEnv = python.withPackages (_: propagatedBuildInputs ++ checkInputs ++ [ pytest ]); + in + '' + export PYTHONPATH=${pythonEnv}/${python.sitePackages} + ''; + + pytestFlagsArray = [ + # Upstream theymselves limit the test scope + # https://github.com/home-assistant-libs/python-matter-server/blob/main/.github/workflows/test.yml#L65 + "tests/server" + ]; + + meta = with lib; { + changelog = "https://github.com/home-assistant-libs/python-matter-server/releases/tag/${version}"; + description = "Python server to interact with Matter"; + homepage = "https://github.com/home-assistant-libs/python-matter-server"; + license = licenses.asl20; + maintainers = teams.home-assistant.members; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1034c5c363..726005ac20a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17845,6 +17845,8 @@ with pkgs; python-language-server = callPackage ../development/dotnet-modules/python-language-server { }; + python-matter-server = with python3Packages; toPythonApplication python-matter-server; + minify = callPackage ../development/web/minify { }; minizinc = callPackage ../development/tools/minizinc { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d29101025ae..9463b4734a2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9227,6 +9227,8 @@ self: super: with self; { python-markdown-math = callPackage ../development/python-modules/python-markdown-math { }; + python-matter-server = callPackage ../development/python-modules/python-matter-server { }; + python-miio = callPackage ../development/python-modules/python-miio { }; python-mimeparse = callPackage ../development/python-modules/python-mimeparse { };