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 setuptools,
18 snitun,
19 syrupy,
20 webrtc-models,
21 xmltodict,
22}:
23
24buildPythonPackage rec {
25 pname = "hass-nabucasa";
26 version = "0.96.0";
27 pyproject = true;
28
29 disabled = pythonOlder "3.13";
30
31 src = fetchFromGitHub {
32 owner = "nabucasa";
33 repo = "hass-nabucasa";
34 tag = version;
35 hash = "sha256-U6rxX1VgSpOkmd/kyf2thYF/0TtsguWbVxXaeuq/wvs=";
36 };
37
38 pythonRelaxDeps = [ "acme" ];
39
40 build-system = [ setuptools ];
41
42 dependencies = [
43 acme
44 aiohttp
45 atomicwrites-homeassistant
46 attrs
47 ciso8601
48 cryptography
49 pycognito
50 pyjwt
51 snitun
52 webrtc-models
53 ];
54
55 nativeCheckInputs = [
56 pytest-aiohttp
57 pytest-timeout
58 pytestCheckHook
59 syrupy
60 xmltodict
61 ];
62
63 pythonImportsCheck = [ "hass_nabucasa" ];
64
65 meta = with lib; {
66 description = "Python module for the Home Assistant cloud integration";
67 homepage = "https://github.com/NabuCasa/hass-nabucasa";
68 changelog = "https://github.com/NabuCasa/hass-nabucasa/releases/tag/${src.tag}";
69 license = licenses.gpl3Only;
70 maintainers = with maintainers; [ Scriptkiddi ];
71 };
72}