/pyexiv2

Read/Write metadata(including EXIF, IPTC, XMP), comment and ICC Profile embedded in digital images.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

pyexiv2

Read/Write metadata(including EXIF, IPTC, XMP), comment and ICC Profile embedded in digital images.

  • Install: pip install pyexiv2
  • Source code on GitHub
  • There was another project called pyexiv2, but it is based on Python2, hasn't been updated since 2011.

Features

  • Base on C++ API of Exiv2 and invoke it through pybind11.
  • Supports running on Linux, MacOS and Windows, with CPython interpreter(64bit, including 3.5 3.6 3.7 3.8 3.9).
    If you want to run pyexiv2 on another platform, you can compile it yourself. See pyexiv2/lib.
  • Supports various image metadata
  • Supports various image formats
  • Supports opening images based on the file path or from bytes data.
  • Supports Unicode characters that contained in image path or metadata.

Defects

  • Can't read the image larger than 2G, or modify the image larger than 1G. (related issue)
  • Not thread safe, because it uses some global variables.

Docs

Tests

There are some test cases in folder pyexiv2/tests.