Unpinned, pip can resolve pydantic v1, which has no pydantic-core, and the app fails on import. Pin pydantic and pydantic-settings to v2.
42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
fastapi
|
|
uvicorn
|
|
python-multipart
|
|
python-dotenv
|
|
httpx
|
|
pydantic>=2.0
|
|
pydantic-settings>=2.0
|
|
SQLAlchemy
|
|
pypdf
|
|
beautifulsoup4
|
|
charset-normalizer
|
|
numpy
|
|
# Vector store + local embeddings for RAG, semantic memory, and tool
|
|
# selection. Used on core agent paths, so installed by default — the app
|
|
# still degrades to keyword fallback if they're ever missing.
|
|
# chromadb-client is the lightweight HTTP client (talks to a standalone
|
|
# ChromaDB service); fastembed runs local ONNX embeddings.
|
|
chromadb-client
|
|
fastembed
|
|
youtube-transcript-api
|
|
# Markdown rendering for research reports (src/visual_report.py).
|
|
# Imported at module-top so it's a hard core dep, not optional.
|
|
markdown
|
|
# Calendar .ics import/export (routes/calendar_routes.py).
|
|
icalendar
|
|
# Recurrence rule expansion for calendar events (routes/calendar_routes.py).
|
|
# Imported directly as dateutil.rrule — make it explicit even though caldav
|
|
# pulls it in transitively.
|
|
python-dateutil
|
|
# CalDAV sync (src/caldav_sync.py). Handles PROPFIND discovery + REPORT
|
|
# fetch across Radicale, Nextcloud, Apple, Fastmail; we'd be reinventing
|
|
# the protocol without it.
|
|
caldav
|
|
cryptography
|
|
bcrypt
|
|
mcp
|
|
pyotp
|
|
qrcode[pil]
|
|
croniter
|
|
pytest
|
|
pytest-asyncio
|