# ── Core Hugging Face stack ───────────────────────────────────────────────────
transformers>=4.40.0
datasets>=2.19.0
tokenizers>=0.19.0
accelerate>=0.29.0          # required by Trainer for mixed-precision / multi-GPU
evaluate>=0.4.1             # SQuAD metric (exact_match, f1)
huggingface-hub>=0.22.0     # model download utilities

# ── Numerics & data ───────────────────────────────────────────────────────────
numpy>=1.26.0
pandas>=2.1.0

# ── 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
pytest-asyncio>=0.23.0      # async test support for FastAPI tests
httpx>=0.27.0               # async test client for FastAPI

# ── Optional extras (uncomment as needed) ─────────────────────────────────────
# sentencepiece>=0.2.0      # required by T5, XLM-RoBERTa and multilingual models
# protobuf>=4.25.0          # some sentencepiece backends need this
#
# PyTorch must be installed separately (platform-specific wheel):
#   CPU:    pip install torch --index-url https://download.pytorch.org/whl/cpu
#   CUDA:   pip install torch --index-url https://download.pytorch.org/whl/cu121
