1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5}:
6
7python3Packages.buildPythonApplication rec {
8 pname = "appdaemon";
9 version = "4.5.11";
10 pyproject = true;
11
12 src = fetchFromGitHub {
13 owner = "AppDaemon";
14 repo = "appdaemon";
15 rev = "refs/tags/${version}";
16 hash = "sha256-1wnAniw7fdyfH6QeFjdIAxX5mU92ZZxLLJ/QkKge1eY=";
17 };
18
19 pythonRelaxDeps = true;
20
21 build-system = [ python3Packages.setuptools ];
22
23 dependencies = with python3Packages; [
24 aiohttp
25 aiohttp-jinja2
26 astral
27 bcrypt
28 deepdiff
29 feedparser
30 iso8601
31 paho-mqtt
32 pid
33 pydantic
34 python-dateutil
35 python-socketio
36 pytz
37 pyyaml
38 requests
39 sockjs
40 uvloop
41 tomli
42 tomli-w
43 ];
44
45 # no tests implemented
46 checkPhase = ''
47 $out/bin/appdaemon -v | grep -q "${version}"
48 '';
49
50 meta = with lib; {
51 description = "Sandboxed Python execution environment for writing automation apps for Home Assistant";
52 mainProgram = "appdaemon";
53 homepage = "https://github.com/AppDaemon/appdaemon";
54 changelog = "https://github.com/AppDaemon/appdaemon/blob/${version}/docs/HISTORY.md";
55 license = licenses.mit;
56 teams = [ teams.home-assistant ];
57 };
58}