Spaces:
Build error
Build error
Claude
feat(schemas): IIIF-native Sprint 1 — schema evolution for streaming architecture
1865b8a unverified | """ | |
| 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 | |