Skip to content

Releases: vitlais/svk-img-metadata

Release list

v0.1.0

Choose a tag to compare

@vitlais vitlais released this 13 Jul 13:56
dde770f

First release.

A mostly-pure-Python library to read, write, and synchronise descriptive image metadata — EXIF, IPTC-IIM, and XMP — across JPEG, PNG, and TIFF. Focuses on descriptive / rights / location fields (caption, creator, copyright, keywords, location, dates, rating), not camera-technical tags. Permissive dependencies only (Pillow, piexif, defusedxml) — no native exiv2/libheif, no ExifTool.

Features

  • Unified model — read each logical field from wherever it lives (XMP > IPTC > EXIF precedence) and write it back to every standard that carries it.
  • Read + write — JPEG and PNG embedded read/write with round-trip preservation of pixels and unmodelled metadata; TIFF read, plus TIFF write via XMP sidecar.
  • Sync — directional copy between standards (e.g. populate IPTC/XMP from a camera's EXIF).
  • XMP export — as a string or .xmp sidecar (both naming conventions), plus sidecar reading and custom-namespace get/set.
  • Validation — user-defined RequiredFields schemas (per-field or per-standard).
  • Strip (privacy) and diff_standards (cross-standard out-of-sync report).

Safety

Parses untrusted image bytes defensively: XMP via defusedxml (blocks XXE and billion-laughs), bounds-checked marker/chunk/IIM parsing, and a clean MetadataError on any malformed input.

Tested on Python 3.10–3.14.