1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytestCheckHook,
6 pythonOlder,
7 pyyaml,
8 setuptools,
9 typing-extensions,
10 zeroconf,
11}:
12
13buildPythonPackage rec {
14 pname = "pyvlx";
15 version = "0.2.26";
16 pyproject = true;
17
18 disabled = pythonOlder "3.11";
19
20 src = fetchFromGitHub {
21 owner = "Julius2342";
22 repo = "pyvlx";
23 tag = version;
24 hash = "sha256-JwgElt0FFSGs3v+04AKPwTTpxvn8YzihJeD/+llbSMI=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [
30 pyyaml
31 typing-extensions
32 zeroconf
33 ];
34
35 nativeCheckInputs = [ pytestCheckHook ];
36
37 pythonImportsCheck = [ "pyvlx" ];
38
39 meta = with lib; {
40 description = "Python client to work with Velux units";
41 longDescription = ''
42 PyVLX uses the Velux KLF 200 interface to control io-Homecontrol
43 devices, e.g. Velux Windows.
44 '';
45 homepage = "https://github.com/Julius2342/pyvlx";
46 changelog = "https://github.com/Julius2342/pyvlx/releases/tag/${version}";
47 license = licenses.lgpl2Only;
48 maintainers = with maintainers; [ fab ];
49 };
50}