1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchPypi,
6 pydantic,
7 pythonOlder,
8 websockets,
9}:
10
11buildPythonPackage rec {
12 pname = "aiolivisi";
13 version = "0.0.19";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-eT/sqLykd4gQVt972646mH+QArf7p/XQH53/UtsuKRs=";
21 };
22
23 postPatch = ''
24 # https://github.com/StefanIacobLivisi/aiolivisi/pull/3
25 substituteInPlace setup.py \
26 --replace 'REQUIREMENTS = list(val.strip() for val in open("requirements.txt"))' "" \
27 --replace "REQUIREMENTS," "[],"
28 '';
29
30 propagatedBuildInputs = [
31 aiohttp
32 pydantic
33 websockets
34 ];
35
36 # Module has no tests
37 doCheck = false;
38
39 pythonImportsCheck = [ "aiolivisi" ];
40
41 meta = with lib; {
42 description = "Module to communicate with LIVISI Smart Home Controller";
43 homepage = "https://github.com/StefanIacobLivisi/aiolivisi";
44 changelog = "https://github.com/StefanIacobLivisi/aiolivisi/releases/tag/${version}";
45 license = with licenses; [ asl20 ];
46 maintainers = with maintainers; [ fab ];
47 };
48}