Skip to main content

Exiv2 wrapper for Python >= 3.4 on Windows

Project description

Low-level wrapper for exiv2 for python >= 3.3 that pip-installs on Windows.

  • only works on Windows.
  • only supports Iptc for now. Exif and Xmp are on their way.
  • straight-up exposure of the C++ methods. Feel free to write more pythonic classes on top.

How do I set it up?

  • pip install exiv2

Example

import exiv2

def example1():
    image = exiv2.ImageFactory.open(r"c:\test\test.jpg")
    image.readMetadata()
    ipc_data = image.iptcData()
    for datum in ipc_data:
        print(datum.key(), datum.value().toString())
    ipc_data[b'Iptc.Application2.Subject'] = b'subject'
    image.writeMetadata()

def example2():
    with open(r"c:\test\test.jpg", "rb") as f:
        imdata = f.read()
    im = exiv2.ImageFactory.open(imdata)
    im.readMetadata()

    new_iptc_data = exiv2.IptcData()
    new_iptc_data[b"Iptc.Application2.Caption"] = b'Hi Mom!'
    im.setIptcData(new_iptc_data)
    im.clearExifData()
    im.clearXmpData()
    im.writeMetadata()

    io = im.io()
    size = io.size()
    buffer = io.read(size)
    with open(r"c:\test\out.jpg", "wb") as f:
        f.write(buffer)

if __name__ == '__main__':
    example1()
    example2()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for exiv2, version 0.2
Filename, size & hash File type Python version Upload date
exiv2-0.2-cp33-cp33m-win32.whl (831.7 kB) View hashes Wheel cp33
exiv2-0.2-cp33-cp33m-win_amd64.whl (985.0 kB) View hashes Wheel cp33
exiv2-0.2-cp34-cp34m-win32.whl (831.8 kB) View hashes Wheel cp34
exiv2-0.2-cp34-cp34m-win_amd64.whl (984.7 kB) View hashes Wheel cp34
exiv2-0.2-cp35-cp35m-win32.whl (831.8 kB) View hashes Wheel cp35
exiv2-0.2-cp35-cp35m-win_amd64.whl (984.8 kB) View hashes Wheel cp35
exiv2-0.2-cp36-cp36m-win32.whl (831.8 kB) View hashes Wheel cp36
exiv2-0.2-cp36-cp36m-win_amd64.whl (984.8 kB) View hashes Wheel cp36

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page