Files
haos-hacs-immich-album-watcher/packages/server/pyproject.toml
alexei.dolgolyov 58b2281dc6
Some checks failed
Validate / Hassfest (push) Has been cancelled
Add standalone FastAPI server backend (Phase 3)
Build a complete standalone web server for Immich album change
notifications, independent of Home Assistant. Uses the shared
core library from Phase 1.

Server features:
- FastAPI with async SQLite (SQLModel + aiosqlite)
- Multi-user auth with JWT (admin/user roles, setup wizard)
- CRUD APIs: Immich servers, album trackers, message templates,
  notification targets (Telegram + webhook), user management
- APScheduler background polling per tracker
- Jinja2 template rendering with live preview
- Album browser proxied from Immich API
- Event logging and dashboard status endpoint
- Docker deployment (single container, SQLite in volume)

39 API routes, 14 integration tests passing.

Also adds Phase 6 (Claude AI Telegram bot enhancement) to the
primary plan as an optional future phase.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 12:56:22 +03:00

35 lines
738 B
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "immich-watcher-server"
version = "0.1.0"
description = "Standalone Immich album change notification server"
requires-python = ">=3.12"
dependencies = [
"immich-watcher-core==0.1.0",
"fastapi>=0.115",
"uvicorn[standard]>=0.32",
"sqlmodel>=0.0.22",
"aiosqlite>=0.20",
"pyjwt>=2.9",
"bcrypt>=4.2",
"apscheduler>=3.10,<4",
"jinja2>=3.1",
"aiohttp>=3.9",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"httpx>=0.27",
]
[project.scripts]
immich-watcher = "immich_watcher_server.main:run"
[tool.hatch.build.targets.wheel]
packages = ["src/immich_watcher_server"]