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/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4c738a3cef9a..da01cd29022c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8158,6 +8158,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 { };