1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, netifaces
5, voluptuous
6, pyyaml
7, pytest-asyncio
8, pytestCheckHook
9, pythonOlder
10}:
11
12buildPythonPackage rec {
13 pname = "xknx";
14 version = "0.18.2";
15 disabled = pythonOlder "3.7";
16
17 src = fetchFromGitHub {
18 owner = "XKNX";
19 repo = pname;
20 rev = version;
21 sha256 = "sha256-7jfZtncjcYaAS/7N06FWXh4qSTH6y+VdFx3kKyQxIbM=";
22 };
23
24 propagatedBuildInputs = [
25 voluptuous
26 netifaces
27 pyyaml
28 ];
29
30 checkInputs = [
31 pytest-asyncio
32 pytestCheckHook
33 ];
34
35 pythonImportsCheck = [ "xknx" ];
36
37 meta = with lib; {
38 description = "KNX Library Written in Python";
39 longDescription = ''
40 XKNX is an asynchronous Python library for reading and writing KNX/IP
41 packets. It provides support for KNX/IP routing and tunneling devices.
42 '';
43 homepage = "https://github.com/XKNX/xknx";
44 license = with licenses; [ mit ];
45 maintainers = with maintainers; [ fab ];
46 };
47}