141 lines
4.2 KiB
Text
141 lines
4.2 KiB
Text
# =============================================================================
|
|
# 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
|
|
|
|
# ===== STREAMLIT =====
|
|
streamlit==1.46.1
|
|
altair==5.5.0 # Utilisé par Streamlit pour les graphiques
|
|
blinker==1.9.0 # Streamlit dependency
|
|
|
|
# ===== HTTP REQUESTS =====
|
|
requests==2.32.4
|
|
httpx==0.28.1 # Modern HTTP client (utilisé par FastAPI)
|
|
httpcore==1.0.9
|
|
h11==0.16.0
|
|
|
|
# ===== MACHINE LEARNING CORE =====
|
|
tensorflow==2.19.0
|
|
keras==3.10.0
|
|
numpy>=1.24.0,<2.0.0
|
|
|
|
# Note: tensorflow-addons n'est plus nécessaire avec TensorFlow 2.19+
|
|
# Les fonctionnalités sont maintenant intégrées dans TensorFlow core
|
|
|
|
# ===== COMPUTER VISION =====
|
|
pillow==11.3.0
|
|
opencv-python-headless==4.9.0.80 # Pas dans votre freeze, mais nécessaire pour Docker
|
|
scikit-image==0.25.2
|
|
imageio==2.37.0
|
|
|
|
# ===== DATA SCIENCE =====
|
|
pandas==2.3.0
|
|
matplotlib==3.10.3
|
|
scipy==1.16.0
|
|
scikit-learn==1.7.0
|
|
|
|
# ===== 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
|
|
|
|
# ===== SEGMENTATION MODELS =====
|
|
# Option 1: Version figée par commit (RECOMMANDÉE pour production)
|
|
segmentation_models @ git+https://github.com/qubvel/segmentation_models.git@5d24bbfb28af6134e25e2c0b79e7727f6c0491d0
|
|
|
|
# Option 2: Si vous préférez une version PyPI (décommentez et commentez la ligne du dessus)
|
|
# segmentation-models==1.0.1
|
|
|
|
# ===== SUPPORTING LIBRARIES =====
|
|
# TensorFlow ecosystem
|
|
tensorboard==2.19.0
|
|
tensorboard-data-server==0.7.2
|
|
protobuf==3.20.3
|
|
flatbuffers==25.2.10
|
|
h5py==3.14.0
|
|
astunparse==1.6.3
|
|
gast==0.6.0
|
|
google-pasta==0.2.0
|
|
keras-applications==1.0.8
|
|
opt_einsum==3.4.0
|
|
termcolor==2.5.0
|
|
wrapt==1.17.2
|
|
|
|
# Data processing
|
|
networkx==3.5
|
|
tifffile==2025.6.11
|
|
lazy_loader==0.4
|
|
|
|
# Utilities
|
|
click==8.2.1
|
|
tqdm==4.67.1
|
|
joblib==1.5.1
|
|
python-dateutil
|
|
packaging
|
|
typing_extensions==4.14.0
|
|
|
|
# File handling
|
|
python-multipart==0.0.20 # Pour FastAPI file uploads
|
|
|
|
# ===== AJOUTS SPÉCIFIQUES POUR UTILS/UTILS.PY =====
|
|
# Pour la gestion des couleurs et légendes matplotlib
|
|
cycler==0.12.1 # Pour matplotlib customization
|
|
|
|
# Font handling pour matplotlib (nécessaire dans Docker)
|
|
fonttools==4.58.5
|
|
|
|
# ===== REMOVED FROM ORIGINAL =====
|
|
# Les packages suivants ont été supprimés car non utilisés dans votre app:
|
|
# - awsebcli (AWS CLI - pas nécessaire dans le container)
|
|
# - blessed, fabric, invoke (outils dev)
|
|
# - jupyter, ipython, spyder (dev environment)
|
|
# - nltk (pas d'NLP dans votre app)
|
|
# - pytest (tests - à garder seulement pour dev)
|
|
# - flask, gunicorn (vous utilisez FastAPI+uvicorn)
|
|
# - docker (pas besoin dans le container)
|
|
# - git* packages (dev tools)
|
|
|
|
# =============================================================================
|
|
# VERSION ALTERNATIVE - PLUS MINIMALISTE
|
|
# =============================================================================
|
|
|
|
# Si vous voulez une version encore plus légère, voici les STRICTEMENT nécessaires:
|
|
# fastapi==0.115.14
|
|
# uvicorn==0.35.0
|
|
# streamlit==1.46.1
|
|
# tensorflow==2.19.0
|
|
# numpy==2.1.3
|
|
# pillow==11.3.0
|
|
# matplotlib==3.10.3
|
|
# pandas==2.3.0
|
|
# requests==2.32.4
|
|
# mlflow==3.2.0
|
|
# boto3==1.39.2
|
|
# segmentation_models @ git+https://github.com/qubvel/segmentation_models.git@5d24bbfb28af6134e25e2c0b79e7727f6c0491d0
|
|
|
|
# =============================================================================
|
|
# NOTES SUR SEGMENTATION_MODELS
|
|
# =============================================================================
|
|
|
|
# OPTION A: Git avec commit hash (ACTUEL - RECOMMANDÉ)
|
|
# Avantages: Version exacte, pas de surprises
|
|
# Inconvénients: Nécessite git dans le container de build
|
|
|
|
# OPTION B: Version PyPI officielle
|
|
# segmentation-models==1.0.1
|
|
# Avantages: Plus simple, pas besoin de git
|
|
# Inconvénients: Peut être différent de votre version dev
|
|
|
|
# OPTION C: Version locale (si vous avez des modifications)
|
|
# Copier le package dans le container et faire pip install -e .
|