1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 aiohttp,
7 semver,
8 deepmerge,
9 pytest-asyncio,
10 pytestCheckHook,
11 pythonOlder,
12}:
13
14buildPythonPackage rec {
15 pname = "blebox-uniapi";
16 version = "2.3.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "blebox";
23 repo = "blebox_uniapi";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-nqxbwHzx2cnojw/XX9XQoVvOCCd88tulY0m9xEHU3m4=";
26 };
27
28 postPatch = ''
29 substituteInPlace setup.py \
30 --replace-fail "pytest-runner" ""
31 '';
32
33 nativeBuildInputs = [ setuptools ];
34
35 propagatedBuildInputs = [
36 aiohttp
37 semver
38 ];
39
40 nativeCheckInputs = [
41 deepmerge
42 pytest-asyncio
43 pytestCheckHook
44 ];
45
46 pythonImportsCheck = [ "blebox_uniapi" ];
47
48 meta = with lib; {
49 changelog = "https://github.com/blebox/blebox_uniapi/blob/v${version}/HISTORY.rst";
50 description = "Python API for accessing BleBox smart home devices";
51 homepage = "https://github.com/blebox/blebox_uniapi";
52 license = licenses.asl20;
53 maintainers = with maintainers; [ dotlambda ];
54 };
55}