1{
2 lib,
3 aiohttp,
4 attrs,
5 backoff,
6 backports-strenum,
7 boto3,
8 buildPythonPackage,
9 fetchFromGitHub,
10 poetry-core,
11 pyhumps,
12 pytest-asyncio,
13 pytestCheckHook,
14 pythonOlder,
15 warrant-lite,
16}:
17
18buildPythonPackage rec {
19 pname = "pyoverkiz";
20 version = "1.17.1";
21 pyproject = true;
22
23 disabled = pythonOlder "3.10";
24
25 src = fetchFromGitHub {
26 owner = "iMicknl";
27 repo = "python-overkiz-api";
28 tag = "v${version}";
29 hash = "sha256-6M+bYpopcyOSV/lM8YR1bazoSsFpiXaHPYSCJReBmJ8=";
30 };
31
32 build-system = [ poetry-core ];
33
34 dependencies = [
35 aiohttp
36 attrs
37 backoff
38 boto3
39 pyhumps
40 warrant-lite
41 ] ++ lib.optionals (pythonOlder "3.11") [ backports-strenum ];
42
43 nativeCheckInputs = [
44 pytest-asyncio
45 pytestCheckHook
46 ];
47
48 pythonImportsCheck = [ "pyoverkiz" ];
49
50 meta = with lib; {
51 description = "Module to interact with the Somfy TaHoma API or other OverKiz APIs";
52 homepage = "https://github.com/iMicknl/python-overkiz-api";
53 changelog = "https://github.com/iMicknl/python-overkiz-api/releases/tag/${src.tag}";
54 license = with licenses; [ mit ];
55 maintainers = with maintainers; [ fab ];
56 };
57}