Read/Write metadata of digital image, including EXIF, IPTC, XMP.
Reason this release was yanked:
Hide the old version on pypi. If you insist, download it from https://github.com/LeoHsiao1/pyexiv2/releases
Project description
pyexiv2
Read/Write metadata of digital image, including EXIF, IPTC, XMP.
- install:
pip install pyexiv2
- source code on github
Features
- Runs on C++ API of Exiv2.
- Supports running on Linux 64bit.
- Supports running on Windows 64bit, with Python3(64bit).
- Supports various metadata
- Supports various image formats
- Supports Unicode characters that contained in image paths and data.
Usage
read metadata :
>>> from pyexiv2 import Image
>>> i = Image("tests/1.jpg")
>>> i.read_exif()
{'Exif.Image.DateTime': '2019:06:23 19:45:17', 'Exif.Image.Artist': 'TEST', 'Exif.Image.Rating': '4', ...}
>>> i.read_iptc()
{'Iptc.Envelope.CharacterSet': '\x1b%G', 'Iptc.Application2.ObjectName': 'TEST', 'Iptc.Application2.Keywords': 'TEST', ...}
>>> i.read_xmp()
{'Xmp.dc.format': 'image/jpeg', 'Xmp.dc.rights': 'lang="x-default" TEST', 'Xmp.dc.subject': 'TEST', ...}
modify metadata :
>>> # prepare the XMP data you want to modify
>>> _dict = {"Xmp.xmp.CreateDate": "2019-06-23T19:45:17.834", # this will overwrite its original value, or add it if it doesn't exist
... "Xmp.xmp.Rating": ""} # set an empty str explicitly to delete the datum
>>> i.modify_xmp(_dict)
>>>
>>> xmp_dict = i.read_xmp() # check the result
>>> xmp_dict["Xmp.xmp.CreateDate"]
'2019-06-23T19:45:17.834' # it has been set
>>> xmp_dict["Xmp.xmp.Rating"]
KeyError: 'Xmp.xmp.Rating' # it has been deleted
- Use i.modify_exif() and i.modify_iptc() in the same way.
In short, please call the public methods of class pyexiv2.Image
:
i = Image("tests/1.jpg")
i.read_exif()
i.read_iptc()
i.read_xmp()
i.read_raw_xmp()
i.read_all()
i.modify_exif({"Exif.Image.ImageDescription": "test",...})
i.modify_iptc({"Iptc.Application2.ObjectName": "test",...})
i.modify_xmp({"Xmp.xmp.CreateDate": "2019-06-23T19:45:17.834",...})
i.modify_all({"EXIF":{...}, "IPTC":{...}, "XMP":{...}})
i.clear_exif()
i.clear_iptc()
i.clear_xmp()
i.clear_all()
Tests
There are some test cases in folder "pyexiv2/tests". Run them by pytest:
pip install pytest psutil
pytest -v
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyexiv2-1.3.0.tar.gz
(2.1 MB
view hashes)