nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ lib
2, python3
3, fetchFromGitHub
4}:
5
6python3.pkgs.buildPythonApplication rec {
7 pname = "appdaemon";
8 version = "4.2.1";
9 format = "setuptools";
10
11 disabled = python3.pythonOlder "3.7";
12
13 src = fetchFromGitHub {
14 owner = "AppDaemon";
15 repo = "appdaemon";
16 rev = "refs/tags/${version}";
17 hash = "sha256-4sN0optkMmyWb5Cd3F7AhcXYHh7aidJE/bieYMEKgSY=";
18 };
19
20 postPatch = ''
21 # relax dependencies
22 sed -i 's/==/>=/' requirements.txt
23 '';
24
25 propagatedBuildInputs = with python3.pkgs; [
26 aiodns
27 aiohttp
28 aiohttp-jinja2
29 astral
30 azure-keyvault-secrets
31 azure-mgmt-compute
32 azure-mgmt-resource
33 azure-mgmt-storage
34 azure-storage-blob
35 bcrypt
36 faust-cchardet
37 deepdiff
38 feedparser
39 iso8601
40 jinja2
41 paho-mqtt
42 pid
43 pygments
44 python-dateutil
45 python-engineio
46 python-socketio
47 pytz
48 pyyaml
49 requests
50 sockjs
51 uvloop
52 voluptuous
53 websocket-client
54 yarl
55 ];
56
57 # no tests implemented
58 checkPhase = ''
59 $out/bin/appdaemon -v | grep -q "${version}"
60 '';
61
62 meta = with lib; {
63 description = "Sandboxed Python execution environment for writing automation apps for Home Assistant";
64 homepage = "https://github.com/AppDaemon/appdaemon";
65 changelog = "https://github.com/AppDaemon/appdaemon/blob/${version}/docs/HISTORY.rst";
66 license = licenses.mit;
67 maintainers = teams.home-assistant.members;
68 };
69}