1{
2 lib,
3 aiofile,
4 backoff,
5 buildPythonPackage,
6 fetchFromGitHub,
7 pythonOlder,
8 pyserial,
9 pyserial-asyncio-fast,
10 pytest-asyncio,
11 pytestCheckHook,
12 setuptools,
13 writableTmpDirAsHomeHook,
14}:
15
16buildPythonPackage rec {
17 pname = "velbus-aio";
18 version = "2025.8.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "Cereal2nd";
25 repo = "velbus-aio";
26 tag = version;
27 hash = "sha256-Z8aQ7UciafWjK3bND846BgolWtOakJv63qzc1eB94dc=";
28 fetchSubmodules = true;
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 aiofile
35 backoff
36 pyserial
37 pyserial-asyncio-fast
38 ];
39
40 nativeCheckInputs = [
41 pytest-asyncio
42 pytestCheckHook
43 writableTmpDirAsHomeHook
44 ];
45
46 pythonImportsCheck = [ "velbusaio" ];
47
48 meta = with lib; {
49 description = "Python library to support the Velbus home automation system";
50 homepage = "https://github.com/Cereal2nd/velbus-aio";
51 changelog = "https://github.com/Cereal2nd/velbus-aio/releases/tag/${src.tag}";
52 license = licenses.asl20;
53 maintainers = with maintainers; [ fab ];
54 };
55}