# Optional local control service + web UI (server/).
# Install only if you run `python -m server`:
#   pip install -r requirements-server.txt
# The core chat-driven pipeline (requirements.txt) does NOT need any of these.

fastapi>=0.110
uvicorn[standard]>=0.27
sse-starlette>=2.0
apscheduler>=3.10
python-multipart>=0.0.9

# Storage. One schema, two dialects: PostgreSQL when Docker is available,
# SQLite otherwise. psycopg is only exercised on the Postgres path.
sqlalchemy>=2.0
alembic>=1.13
psycopg[binary]>=3.1

# Multi-user accounts: password hashing + per-user secret encryption.
bcrypt>=4.1
cryptography>=42.0

# `jobpilot setup` terminal UI
rich>=13.7
questionary>=2.0
qrcode>=7.4

# Metered engine only (Anthropic API). The default Claude Code subscription engine
# uses the `claude` CLI instead and does NOT need this. Safe to omit if it won't
# resolve on your platform — the engine reports itself unavailable and is greyed out.
claude-agent-sdk>=0.1

# Optional tray launcher: `python -m server.tray`
pystray>=0.19
Pillow>=10.0

# Test suite. pytest-asyncio is not optional: the orchestrator and scheduler tests are
# async, and without it they're skipped with "async def functions are not natively
# supported" — which reads as a pass in the summary but tests nothing.
pytest>=8.0
pytest-asyncio>=0.23
