nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, cryptography
5, ifaddr
6, voluptuous
7, pyyaml
8, pytest-asyncio
9, pytestCheckHook
10, pythonOlder
11}:
12
13buildPythonPackage rec {
14 pname = "xknx";
15 version = "0.21.3";
16 format = "setuptools";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "XKNX";
22 repo = pname;
23 rev = "refs/tags/${version}";
24 sha256 = "sha256-AGKozbVdXfRPvaU1Et8GFu3vdNRLA8ZiV8Xc6T7BhOQ=";
25 };
26
27 propagatedBuildInputs = [
28 cryptography
29 ifaddr
30 ];
31
32 checkInputs = [
33 pytest-asyncio
34 pytestCheckHook
35 ];
36
37 pythonImportsCheck = [
38 "xknx"
39 ];
40
41 disabledTests = [
42 # Test requires network access
43 "test_scan_timeout"
44 ];
45
46 meta = with lib; {
47 description = "KNX Library Written in Python";
48 longDescription = ''
49 XKNX is an asynchronous Python library for reading and writing KNX/IP
50 packets. It provides support for KNX/IP routing and tunneling devices.
51 '';
52 homepage = "https://github.com/XKNX/xknx";
53 license = with licenses; [ mit ];
54 maintainers = with maintainers; [ fab ];
55 platforms = platforms.linux;
56 };
57}