# requirements.txt — Peregrine by Circuit Forge LLC # Extracted from environment.yml for Docker pip installs # Keep in sync with environment.yml # ── CircuitForge shared core ─────────────────────────────────────────────── -e ../circuitforge-core # ── 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 pytest-playwright>=0.4 pytest-json-report>=1.5 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 # ── Vue SPA API backend ────────────────────────────────────────────────── fastapi>=0.100.0 uvicorn[standard]>=0.20.0 PyJWT>=2.8.0 cryptography>=40.0.0 python-multipart>=0.0.6