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