# =============================================================================
# Hugging Face Text Generation Starter — Python Dependencies
# =============================================================================
# Install with:
#   pip install -r requirements.txt
#
# For GPU acceleration install PyTorch with CUDA support first:
#   pip install torch --index-url https://download.pytorch.org/whl/cu121
# =============================================================================

# --- Core ML framework ---
torch>=2.1.0                # Deep learning; install CUDA build separately for GPU
transformers>=4.40.0        # HF model loading, generation, TextIteratorStreamer

# --- Configuration ---
pyyaml>=6.0.1               # YAML config loader (config/config.yaml)
python-dotenv>=1.0.0        # Load .env variables automatically

# --- API service ---
fastapi>=0.111.0            # REST API framework
uvicorn[standard]>=0.29.0  # ASGI server for FastAPI
pydantic>=2.7.0             # Request/response validation (FastAPI dependency)

# --- Gradio UI ---
gradio>=4.29.0              # Browser-based demo interface

# --- Testing ---
pytest>=8.2.0               # Test runner
pytest-asyncio>=0.23.0      # Async test support for FastAPI lifespan
httpx>=0.27.0               # TestClient HTTP backend for FastAPI

# --- Optional / model-family extras ---
# Uncomment as needed for specific model families:
#
# sentencepiece>=0.2.0      # Required by LLaMA, T5, Mistral, Phi tokenizers
# protobuf>=4.25.0          # Needed alongside sentencepiece for some checkpoints
# accelerate>=0.30.0        # Required for device_map="auto" on large models
# bitsandbytes>=0.43.0      # 4-bit / 8-bit quantisation (GPU only, Linux)
# einops>=0.7.0             # Required by Falcon and some attention variants
# scipy>=1.13.0             # Needed by some tokenizer backends
