# ─────────────────────────────────────────────────────────────────────────
#  TeCoxBeta — Python dependencies
#  Install:  pip install -r requirements.txt
#  Python:   3.9 or newer
# ─────────────────────────────────────────────────────────────────────────

# --- web framework / server ----------------------------------------------
fastapi>=0.110.0            # HTTP API framework
uvicorn[standard]>=0.27.0   # ASGI server (standalone runs)
a2wsgi>=1.10.0              # ASGI→WSGI bridge, required for cPanel/Passenger
python-multipart>=0.0.9     # form parsing support

# --- data models ----------------------------------------------------------
pydantic>=2.6.0             # request/response validation

# --- HTTP client ----------------------------------------------------------
httpx>=0.27.0               # pooled async client used for every request
brotli>=1.1.0               # REQUIRED: without it many engines return
                            # undecodable bodies and silently yield 0 results

# --- HTML parsing / content extraction ------------------------------------
selectolax>=0.3.21          # fast HTML parser for result pages
trafilatura>=1.8.0          # main-article extraction, removes boilerplate
lxml>=5.0.0                 # parser backend for trafilatura

# --- ranking --------------------------------------------------------------
rank-bm25>=0.2.2            # BM25 keyword relevance scoring
numpy>=1.24.0               # numeric support for scoring

# --- utilities ------------------------------------------------------------
orjson>=3.9.0               # fast JSON encode/decode
python-dotenv>=1.0.0        # loads .env configuration

# --- optional: development / testing --------------------------------------
# pytest>=8.0.0
