CoolFace
Apppublic

TCETMILI/PassportExtractor

sourceHugging Faceupdated 7mo agoView on Hugging Face
1likes
models.py45 linesDownload Raw Back to backend
1from __future__ import annotations2from typing import Optional, List3from enum import Enum4from pydantic import BaseModel, Field5 6class DocumentType(str, Enum):7    PASSPORT = "passport"8    PHOTO = "photo"9    UNKNOWN = "unknown"10    UNREADABLE = "unreadable"11 12class ProcessingStatus(str, Enum):13    PENDING = "pending"14    PROCESSING = "processing"15    COMPLETED = "completed"16    FAILED = "failed"17 18class PassportRecord(BaseModel):19    given_names: Optional[str] = None20    surname: Optional[str] = None21    tc_kimlik_no: Optional[str] = None22    date_of_birth: Optional[str] = None23    passport_number: Optional[str] = None24    date_of_issue: Optional[str] = None25    date_of_expiry: Optional[str] = None26    issuing_authority: Optional[str] = None27 28class PassportRecordWithMeta(PassportRecord):29    source_file_name: Optional[str] = None30    standard_name: Optional[str] = None31    passport_image_path: Optional[str] = None32    face_image_path: Optional[str] = None33 34class ClassificationResult(BaseModel):35    document_type: DocumentType = DocumentType.UNKNOWN36    confidence: float = 0.037    method: str = "unknown"38    details: Optional[str] = None39 40class FaceMatchResult(BaseModel):41    is_match: bool = False42    distance: float = 1.043    similarity: float = 0.044    confidence: str = "low"45