nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 acme,
4 aiohttp,
5 async-timeout,
6 atomicwrites-homeassistant,
7 attrs,
8 buildPythonPackage,
9 ciso8601,
10 cryptography,
11 fetchFromGitHub,
12 freezegun,
13 grpcio,
14 icmplib,
15 josepy,
16 litellm,
17 pycognito,
18 pyjwt,
19 pytest-aiohttp,
20 pytest-socket,
21 pytest-timeout,
22 pytestCheckHook,
23 pythonOlder,
24 sentence-stream,
25 setuptools,
26 snitun,
27 syrupy,
28 voluptuous,
29 webrtc-models,
30 xmltodict,
31 yarl,
32}:
33
34buildPythonPackage rec {
35 pname = "hass-nabucasa";
36 version = "1.11.0";
37 pyproject = true;
38
39 disabled = pythonOlder "3.13";
40
41 src = fetchFromGitHub {
42 owner = "nabucasa";
43 repo = "hass-nabucasa";
44 tag = version;
45 hash = "sha256-qTOfZy74bF/e8Tw0FMjS53y7prCqIDlBXTDkVG3DUsQ=";
46 };
47
48 postPatch = ''
49 substituteInPlace pyproject.toml \
50 --replace-fail "0.0.0" "${version}"
51 '';
52
53 build-system = [ setuptools ];
54
55 dependencies = [
56 acme
57 aiohttp
58 async-timeout
59 atomicwrites-homeassistant
60 attrs
61 ciso8601
62 cryptography
63 grpcio
64 icmplib
65 josepy
66 litellm
67 pycognito
68 pyjwt
69 sentence-stream
70 snitun
71 voluptuous
72 webrtc-models
73 yarl
74 ];
75
76 nativeCheckInputs = [
77 freezegun
78 pytest-aiohttp
79 pytest-socket
80 pytest-timeout
81 pytestCheckHook
82 syrupy
83 xmltodict
84 ];
85
86 pythonImportsCheck = [ "hass_nabucasa" ];
87
88 meta = {
89 description = "Python module for the Home Assistant cloud integration";
90 homepage = "https://github.com/NabuCasa/hass-nabucasa";
91 changelog = "https://github.com/NabuCasa/hass-nabucasa/releases/tag/${src.tag}";
92 license = lib.licenses.gpl3Only;
93 maintainers = with lib.maintainers; [ Scriptkiddi ];
94 };
95}