# ── Core Hugging Face stack ───────────────────────────────────
transformers>=4.40.0
datasets>=2.19.0
tokenizers>=0.19.0
accelerate>=0.29.0          # required by Trainer / Seq2SeqTrainer
evaluate>=0.4.1             # ROUGE and other metrics
huggingface-hub>=0.22.0     # model/dataset download utilities
rouge-score>=0.1.2          # backend used by the 'rouge' evaluate metric

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

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

# ── API ───────────────────────────────────────────────────────
fastapi>=0.110.0
uvicorn[standard]>=0.29.0
pydantic>=2.6.0

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

# ── CLI ───────────────────────────────────────────────────────
click>=8.1.7

# ── Testing ───────────────────────────────────────────────────
pytest>=8.1.0
httpx>=0.27.0               # async test client for FastAPI

# ── Optional extras (uncomment if needed) ─────────────────────
# sentencepiece>=0.2.0      # REQUIRED for T5, mT5, XLM-RoBERTa and other multilingual models
# protobuf>=4.25.0          # needed by some sentencepiece backends
#
# PyTorch is NOT listed because the install command is platform-specific.
# Install separately BEFORE running pip install -r requirements.txt:
#
#   CPU-only:
#     pip install torch --index-url https://download.pytorch.org/whl/cpu
#
#   CUDA 12.1:
#     pip install torch --index-url https://download.pytorch.org/whl/cu121
#
#   macOS MPS (Apple Silicon):
#     pip install torch   # standard PyPI build includes MPS support
