Claude
feat(schemas): IIIF-native Sprint 1 — schema evolution for streaming architecture
1865b8a unverified
Raw
History Blame Contribute Delete
1.35 kB
"""
Schémas Pydantic pour les métadonnées image du pipeline.
Deux schémas coexistent :
- ImageDerivativeInfo : dérivés stockés sur disque (upload de fichiers)
- ImageSourceInfo : source IIIF sans stockage local (mode natif)
"""
# 2. third-party
from pydantic import BaseModel
class ImageDerivativeInfo(BaseModel):
"""Résultat de la normalisation d'une image : dimensions originales et chemins des dérivés.
Utilisé pour les images uploadées via /ingest/files (stockage local).
"""
original_url: str
original_width: int
original_height: int
derivative_path: str
derivative_width: int
derivative_height: int
thumbnail_path: str
thumbnail_width: int
thumbnail_height: int
class ImageSourceInfo(BaseModel):
"""Source d'image IIIF — pas de stockage local.
Utilisé pour les images ingérées via manifest ou URLs IIIF.
Les bytes ne sont jamais écrits sur disque : téléchargés en RAM
pour l'IA, puis jetés.
"""
original_url: str # URL statique de l'image (fallback)
iiif_service_url: str | None = None # URL du service IIIF Image API
manifest_url: str | None = None # URL du manifest source
is_iiif: bool = False # a un IIIF Image Service détecté ?
original_width: int
original_height: int