Initial commit
This commit is contained in:
59
backend/requirements.txt
Normal file
59
backend/requirements.txt
Normal file
@@ -0,0 +1,59 @@
|
||||
# --- Web API ---
|
||||
fastapi>=0.115.0
|
||||
uvicorn[standard]>=0.30.6
|
||||
pydantic>=2.9.2
|
||||
python-multipart>=0.0.6
|
||||
|
||||
# --- Config ---
|
||||
python-dotenv>=1.0.1
|
||||
|
||||
# --- Database / pgvector ---
|
||||
psycopg[binary]>=3.2.3
|
||||
pgvector>=0.2.5
|
||||
|
||||
# --- Embeddings (RAG retrieval) ---
|
||||
# sentence-transformers pulls in its own CPU-friendly torch wheel
|
||||
# automatically - no need to pin torch separately. Imports are LAZY
|
||||
# (see app/services/embeddings_service.py) so the API still boots fast
|
||||
# even before this is installed/loaded.
|
||||
sentence-transformers>=3.0.1
|
||||
|
||||
# --- HTTP clients ---
|
||||
requests>=2.31.0
|
||||
aiohttp>=3.9.5
|
||||
httpx>=0.27.2
|
||||
|
||||
# --- Catalog ingestion pipeline (discovery / images / pricing) ---
|
||||
# Only required if you plan to run cli/ingest_brand.py or
|
||||
# POST /api/catalog/generate to pull in NEW brands. If you only ever use
|
||||
# the bundled seed data (scripts/seed_sample_data.py) + RAG chat/search,
|
||||
# you can skip everything below this line.
|
||||
beautifulsoup4>=4.12.3
|
||||
lxml>=4.9.3
|
||||
python-slugify>=8.0.4
|
||||
ddgs>=9.14.4
|
||||
Pillow>=10.0.0
|
||||
aiofiles>=23.2.1
|
||||
|
||||
# Playwright (Python) - last-resort image-search fallback only.
|
||||
# Run `playwright install chromium` once after pip install to enable it;
|
||||
# the pipeline works fine without it (just one fewer fallback source).
|
||||
playwright>=1.47.0
|
||||
|
||||
# --- S3 / DigitalOcean Spaces (optional product image storage) ---
|
||||
boto3>=1.34.162
|
||||
|
||||
# --- ML / analytics (app/intelligence/*, incl. nutrition similarity & ---
|
||||
# --- clustering) - CPU-only estimators only (GradientBoosting/Random- ---
|
||||
# --- Forest/KMeans/NearestNeighbors), no GPU dependency, per the 8GB ---
|
||||
# --- RAM / CPU-only environment this project targets. Was already an ---
|
||||
# --- implicit dependency (app/intelligence/*.py imports these) but was ---
|
||||
# --- missing from this file - declared explicitly now. ---
|
||||
scikit-learn>=1.5.2
|
||||
pandas>=2.2.2
|
||||
numpy>=1.26.4
|
||||
scipy>=1.13.1
|
||||
joblib>=1.4.2
|
||||
|
||||
# --- Dev/test tooling ---
|
||||
pytest>=8.3.3
|
||||
Reference in New Issue
Block a user