# =============================================================================
# Multi-Class Segmentation API - Requirements
# =============================================================================

# ===== CORE WEB FRAMEWORK =====
fastapi==0.115.14
uvicorn==0.35.0
starlette==0.46.2
pydantic==2.11.7
pydantic_core==2.33.2
python-multipart==0.0.20  # uploads FastAPI

# ===== STREAMLIT =====
streamlit==1.46.1
altair==5.5.0  # utilisé par Streamlit
blinker==1.9.0 # dépendance Streamlit

# ===== HTTP CLIENTS =====
requests==2.32.4
httpx==0.28.1   # utilisé en interne par FastAPI
httpcore==1.0.9
h11==0.16.0

# ===== MACHINE LEARNING CORE (PyTorch) =====
torch==2.8.0        # version stable PyTorch
torchvision==0.23.0 # utile pour les modèles pré-entraînés
torchaudio==2.8.0   # optionnel (mais recommandé pour compatibilité PyTorch)
segmentation-models-pytorch==0.5.0
albumentations==2.0.8
# version PyTorch de ToTensor
albumentations[imgaug,opencv]

numpy>=1.24.0,<2.0.0
scipy==1.16.0
scikit-learn==1.7.0

# ===== COMPUTER VISION =====
pillow==11.3.0
opencv-python-headless==4.9.0.80
scikit-image==0.25.2
imageio==2.37.0

# ===== DATA SCIENCE =====
pandas==2.3.0
matplotlib==3.10.3
networkx==3.5
tifffile==2025.6.11
lazy_loader==0.4

# ===== MLFLOW & MODEL REGISTRY =====
mlflow==3.2.0
mlflow-skinny==3.2.0
mlflow-tracing==3.2.0

# ===== AWS/S3 SUPPORT =====
boto3==1.39.2
botocore==1.39.2
s3transfer==0.13.0

# ===== UTILITIES =====
click==8.2.1
tqdm==4.67.1
joblib==1.5.1
python-dateutil
packaging
typing_extensions==4.14.0

# ===== MATPLOTLIB ADDONS =====
cycler==0.12.1
fonttools==4.58.5
plotly==5.24.1
