File Classification Utilities

class smith_utils.file.FileClassification(path: Path, extension: str, file_description: str | None, file_mime_type: str | None, extension_mime_type: str | None, magic_type: str | None, magic_mime_type: str | None, file_class: str | None, categories: tuple[str, ...])[source]

Bases: object

Classification evidence for a file path.

categories: tuple[str, ...]
extension: str
extension_mime_type: str | None
file_class: str | None
file_description: str | None
file_mime_type: str | None
magic_mime_type: str | None
magic_type: str | None
path: Path
smith_utils.file.classify_file(path: str | Path, *, sample_size: int = 4096) FileClassification[source]

Classify a file using extension, magic bytes, MIME, and file(1) signals.