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.13.10";
21 pyproject = true;
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "iMicknl";
27 repo = "python-overkiz-api";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-05S0tCfCXgvkheUBVDGX8my0c7SCi/ran2emjaGWd9s=";
30 };
31
32 postPatch = ''
33 substituteInPlace pyproject.toml \
34 --replace-fail 'pyhumps = "^3.0.2,!=3.7.3"' 'pyhumps = "^3.0.2"'
35 '';
36
37 build-system = [ poetry-core ];
38
39 dependencies = [
40 aiohttp
41 attrs
42 backoff
43 backports-strenum
44 boto3
45 pyhumps
46 warrant-lite
47 ];
48
49 nativeCheckInputs = [
50 pytest-asyncio
51 pytestCheckHook
52 ];
53
54 pythonImportsCheck = [ "pyoverkiz" ];
55
56 meta = with lib; {
57 description = "Module to interact with the Somfy TaHoma API or other OverKiz APIs";
58 homepage = "https://github.com/iMicknl/python-overkiz-api";
59 changelog = "https://github.com/iMicknl/python-overkiz-api/releases/tag/v${version}";
60 license = with licenses; [ mit ];
61 maintainers = with maintainers; [ fab ];
62 };
63}