diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix new file mode 100644 index 000000000000..19720a55d23a --- /dev/null +++ b/pkgs/development/python-modules/xknx/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, netifaces +, voluptuous +, pyyaml +, pytest-asyncio +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "xknx"; + version = "0.16.0"; + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "XKNX"; + repo = pname; + rev = version; + sha256 = "0a9pxah37ml2a5qpc841ps22d256003i8d4mix2gh7nwxab2qp8j"; + }; + + propagatedBuildInputs = [ + voluptuous + netifaces + pyyaml + ]; + + checkInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ "xknx" ]; + + meta = with lib; { + description = "KNX Library Written in Python"; + longDescription = '' + XKNX is an asynchronous Python library for reading and writing KNX/IP + packets. It provides support for KNX/IP routing and tunneling devices. + ''; + homepage = "https://github.com/XKNX/xknx"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 7fff41ccb282..d1fdc962c968 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -418,7 +418,7 @@ "keyboard_remote" = ps: with ps; [ aionotify evdev ]; "kira" = ps: with ps; [ ]; # missing inputs: pykira "kiwi" = ps: with ps; [ ]; # missing inputs: kiwiki-client - "knx" = ps: with ps; [ ]; # missing inputs: xknx + "knx" = ps: with ps; [ xknx ]; "kodi" = ps: with ps; [ ]; # missing inputs: pykodi "konnected" = ps: with ps; [ aiohttp-cors ]; # missing inputs: konnected "kulersky" = ps: with ps; [ ]; # missing inputs: pykulersky diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 828d0fb9df50..5b56ea0c32d5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8174,6 +8174,8 @@ in { xkcdpass = callPackage ../development/python-modules/xkcdpass { }; + xknx = callPackage ../development/python-modules/xknx { }; + xlib = callPackage ../development/python-modules/xlib { }; xlrd = callPackage ../development/python-modules/xlrd { };