1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 pythonOlder,
6 pythonRelaxDepsHook,
7 fetchFromGitHub,
8 setuptools,
9 construct,
10 websockets,
11 pytest-asyncio,
12 pytestCheckHook,
13}:
14
15buildPythonPackage rec {
16 pname = "vallox-websocket-api";
17 version = "5.2.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.9";
21
22 src = fetchFromGitHub {
23 owner = "yozik04";
24 repo = "vallox_websocket_api";
25 rev = "refs/tags/${version}";
26 hash = "sha256-qq58ZSrKVQ00rtXMe4L9xfz0QB+UpjGOhPo1srPYIY4=";
27 };
28
29 nativeBuildInputs = [
30 setuptools
31 pythonRelaxDepsHook
32 ];
33
34 pythonRelaxDeps = [ "websockets" ];
35
36 propagatedBuildInputs = [
37 aiohttp
38 construct
39 websockets
40 ];
41
42 nativeCheckInputs = [
43 pytest-asyncio
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "vallox_websocket_api" ];
48
49 meta = {
50 changelog = "https://github.com/yozik04/vallox_websocket_api/releases/tag/${version}";
51 description = "Async API for Vallox ventilation units";
52 homepage = "https://github.com/yozik04/vallox_websocket_api";
53 license = lib.licenses.lgpl3Only;
54 maintainers = with lib.maintainers; [ dotlambda ];
55 };
56}