# GLAMMBRAIN brain-engine — pinned Python deps.
# Install into a dedicated venv (install-brain.sh creates brain-engine/infra/.venv):
#   python3 -m venv brain-engine/infra/.venv
#   brain-engine/infra/.venv/bin/pip install -r brain-engine/requirements.txt
#
# What actually imports what, in this seed:
#   - reranker-service.py   -> sentence-transformers (CrossEncoder), which pulls in torch.
#   - bm25-service.py, build-bm25-index.py, feed.py, unified-search.py, brain_config.py
#     -> Python stdlib only (urllib, json, math, http.server). No qdrant-client or
#        neo4j driver import — they talk to Qdrant's REST API and Neo4j's HTTP
#        transaction endpoint directly over urllib, by design (no per-query
#        client-library import cost).
#
# qdrant-client and the neo4j driver are pinned below anyway, matching the
# reference versions of the infra this engine talks to (Qdrant 1.17, Neo4j 5.18),
# so an owner who extends the engine with the official clients gets a version
# that is known to work against that stack. rank-bm25 is pinned for the same
# reason (parity with the reference deployment) even though this seed's BM25
# implementation is a small hand-rolled Okapi BM25 in build-bm25-index.py /
# bm25-service.py, not the rank_bm25 package.

sentence-transformers==5.3.0
qdrant-client==1.17.0
neo4j==6.1.0
rank-bm25==0.2.2
