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