Some checks failed
CI / test (push) Failing after 19s
- app/app.py: load_env at module level (safe in Docker, fills gaps on bare-metal) - dev_api.py: load_env in startup handler (avoids test-env pollution) - requirements.txt: note >= 0.7.0 requirement; TODO tag once cf-core cuts release db.migration runner deferral: tracked in #43 (Rails-style numbered migrations) CFOrchClient VRAM wiring: already present in task_scheduler via CF_ORCH_URL env var
96 lines
4.1 KiB
Text
96 lines
4.1 KiB
Text
# requirements.txt — Peregrine by Circuit Forge LLC
|
|
# Extracted from environment.yml for Docker pip installs
|
|
# Keep in sync with environment.yml
|
|
|
|
# ── CircuitForge shared core ───────────────────────────────────────────────
|
|
# Requires circuitforge-core >= 0.7.0 (config.load_env, db, tasks, resources).
|
|
# Local dev / Docker (parent-context build): path install works because
|
|
# circuitforge-core/ is a sibling directory.
|
|
# CI / fresh checkouts: falls back to the Forgejo VCS URL below.
|
|
# To use local editable install run: pip install -e ../circuitforge-core
|
|
# TODO: pin to @v0.7.0 tag once cf-core cuts a release tag.
|
|
git+https://git.opensourcesolarpunk.com/Circuit-Forge/circuitforge-core.git@main
|
|
|
|
# ── 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
|