gamut-exif 0.1.1

EXIF (Exif 3.0 / CIPA DC-008) image metadata parser and serializer, built on the shared TIFF/IFD core.
Documentation

gamut-exif

gamut-exif is a pure-Rust EXIF (Exif 3.0 / CIPA DC-008) image-metadata parser and serializer.

Goals

Part of the gamut workspace, this crate models the EXIF blob embedded in images (the JPEG APP1 payload, the WebP EXIF chunk, the AVIF/HEIF Exif item) so the format crates can read, preserve, and embed camera/capture metadata. It is:

  • Memory-safe on hostile input. #![forbid(unsafe_code)] — EXIF is offset-driven TIFF from untrusted files.
  • Clean-slate from the spec. Implemented from Exif 3.0 (CIPA DC-008-2024; ../../references/exif), with 2.32 legacy compatibility.
  • Layered on the shared IFD core. EXIF is a constrained TIFF stream, so the IFD structure, byte order, and offset machinery come from gamut-ifd; this crate adds the EXIF tag dictionary, value interpretation, the Exif/GPS/Interop sub-IFD layout, the thumbnail, and the vendor MakerNote dialects.

The long-term goal (issue #34) is exiftool-class tag coverage.

Usage

No public API yet — implementation pending (issue #34). The type declarations sketch the data model (Exif, ExifTag/IfdKind, ExifValue, GpsInfo/GpsCoordinate, MakerNote/MakerNoteVendor) plus the ExifReader / ExifWriter entry points.

Status

Scaffolding — under active implementation (issue #34). See STATUS.md.

License

Licensed under either of MIT or Apache-2.0 at your option.