peregrine/requirements.txt
pyr0ball 3b9bd5f551 feat(cloud): add compose.cloud.yml and telemetry consent middleware
T8: compose.cloud.yml — multi-tenant cloud stack on port 8505, CLOUD_MODE=true,
per-user encrypted data at /devl/menagerie-data, joins caddy-proxy_caddy-internal
network; .env.example extended with five cloud-only env vars.

T10: app/telemetry.py — log_usage_event() is the ONLY entry point to usage_events
table; hard kill switch (all_disabled) checked before any DB write; complete no-op
in local mode; swallows all exceptions so telemetry never crashes the app;
psycopg2-binary added to requirements.txt. Event calls wired into 4_Apply.py at
cover_letter_generated and job_applied. 5 tests, 413/413 total passing.
2026-03-09 22:10:18 -07:00

78 lines
3.1 KiB
Text

# requirements.txt — Peregrine by Circuit Forge LLC
# Extracted from environment.yml for Docker pip installs
# Keep in sync with environment.yml
# ── Web UI ────────────────────────────────────────────────────────────────
streamlit>=1.35
watchdog
reportlab>=4.0
pandas>=2.0
pyarrow
streamlit-paste-button>=0.1.0
# ── Job scraping ──────────────────────────────────────────────────────────
python-jobspy>=1.1
playwright>=1.40
selenium
undetected-chromedriver
webdriver-manager
beautifulsoup4
requests
curl_cffi
fake-useragent
# ── LLM / AI backends ─────────────────────────────────────────────────────
openai>=1.55.0,<2.0.0 # >=1.55 required for httpx 0.28 compat; <2.0 for langchain-openai
anthropic>=0.80
ollama
langchain>=0.2
langchain-openai
langchain-anthropic
langchain-ollama
langchain-community
langchain-google-genai
google-generativeai
tiktoken
# ── Resume matching ───────────────────────────────────────────────────────
scikit-learn>=1.3
rapidfuzz
# lib-resume-builder-aihawk intentionally excluded — pulls torch+CUDA (~7GB).
# AIHawk runs in its own conda env (aihawk-env) outside the Docker container.
# ── Notion integration ────────────────────────────────────────────────────
notion-client>=3.0
# ── Document handling ─────────────────────────────────────────────────────
pypdf
pdfminer-six
pdfplumber
python-docx
json-repair
pyyaml>=6.0
python-dotenv
# ── Auth / licensing ──────────────────────────────────────────────────────
PyJWT>=2.8
pysqlcipher3
# ── Cloud / telemetry ─────────────────────────────────────────────────────────
psycopg2-binary
# ── Utilities ─────────────────────────────────────────────────────────────
sqlalchemy
tqdm
loguru
rich
tenacity
httpx
# ── Testing ───────────────────────────────────────────────────────────────
pytest>=9.0
pytest-cov
pytest-mock
lxml
# ── Documentation ────────────────────────────────────────────────────────
mkdocs>=1.5
mkdocs-material>=9.5