1{
2 lib,
3 acme,
4 aiohttp,
5 atomicwrites-homeassistant,
6 attrs,
7 buildPythonPackage,
8 ciso8601,
9 cryptography,
10 fetchFromGitHub,
11 pycognito,
12 pyjwt,
13 pytest-aiohttp,
14 pytest-timeout,
15 pytestCheckHook,
16 pythonOlder,
17 pythonRelaxDepsHook,
18 setuptools,
19 snitun,
20 syrupy,
21 xmltodict,
22}:
23
24buildPythonPackage rec {
25 pname = "hass-nabucasa";
26 version = "0.81.0";
27 pyproject = true;
28
29 disabled = pythonOlder "3.11";
30
31 src = fetchFromGitHub {
32 owner = "nabucasa";
33 repo = "hass-nabucasa";
34 rev = "refs/tags/${version}";
35 hash = "sha256-61pdl9bjtvC9Fa7jCtSPEz/5PJiANmKqOSSHjK7is2s=";
36 };
37
38 pythonRelaxDeps = [ "acme" ];
39
40 nativeBuildInputs = [ pythonRelaxDepsHook ];
41
42 build-system = [ setuptools ];
43
44 dependencies = [
45 acme
46 aiohttp
47 atomicwrites-homeassistant
48 attrs
49 ciso8601
50 cryptography
51 pycognito
52 pyjwt
53 snitun
54 ];
55
56 nativeCheckInputs = [
57 pytest-aiohttp
58 pytest-timeout
59 pytestCheckHook
60 syrupy
61 xmltodict
62 ];
63
64 pythonImportsCheck = [ "hass_nabucasa" ];
65
66 meta = with lib; {
67 description = "Python module for the Home Assistant cloud integration";
68 homepage = "https://github.com/NabuCasa/hass-nabucasa";
69 changelog = "https://github.com/NabuCasa/hass-nabucasa/releases/tag/${version}";
70 license = licenses.gpl3Only;
71 maintainers = with maintainers; [ Scriptkiddi ];
72 };
73}