# ── Core Hugging Face stack ───────────────────────────────────────────────────
transformers>=4.41.0
datasets>=2.19.0
tokenizers>=0.19.0
accelerate>=0.30.0           # required by Trainer for multi-GPU / mixed-precision
evaluate>=0.4.1              # accuracy, f1, rouge, seqeval metrics
huggingface-hub>=0.23.0      # model/dataset download utilities

# ── Numerics & data ───────────────────────────────────────────────────────────
numpy>=1.26.0
pandas>=2.1.0
scikit-learn>=1.4.0          # train/test split, label encoding

# ── Configuration ─────────────────────────────────────────────────────────────
pyyaml>=6.0.1
python-dotenv>=1.0.0

# ── API ───────────────────────────────────────────────────────────────────────
fastapi>=0.111.0
uvicorn[standard]>=0.29.0
pydantic>=2.7.0
httpx>=0.27.0                # async test client for FastAPI tests

# ── UI ────────────────────────────────────────────────────────────────────────
gradio>=4.28.0

# ── Testing ───────────────────────────────────────────────────────────────────
pytest>=8.1.0
pytest-mock>=3.14.0

# ── PyTorch (installed separately — see scripts/setup.sh) ─────────────────────
# Install before running:
#   CPU:  pip install torch --index-url https://download.pytorch.org/whl/cpu
#   GPU:  pip install torch --index-url https://download.pytorch.org/whl/cu121

# ── Optional extras (uncomment as needed) ─────────────────────────────────────
# sentencepiece>=0.2.0   # XLM-RoBERTa, T5, mBART and other multilingual models
# protobuf>=4.25.0       # needed by some sentencepiece backends
# rouge-score>=0.1.2     # alternative ROUGE backend
# seqeval>=1.2.2         # NER / token-classification metrics
# tensorboard>=2.16.0    # training visualisation (set callbacks.tensorboard: true)
