Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

To simplify exif manipulations with python. Writing, reading, and more...

Project description

Build Status Windows Build Coverage Status docs

To simplify exif manipulations with python. Writing, reading, and more… Piexif is pure python. To everywhere with Python.

Document: http://piexif.readthedocs.org/en/latest/

Online demo: http://piexif-demo.appspot.com/demo

Install

‘easy_install’:

$ easy_install piexif

or ‘pip’:

$ pip install piexif

or download .zip, extract it. Put ‘piexif’ directory into your environment.

Why Choose Piexif

How to Use

There are only just five functions.

  • load(filename) - Get exif data as dict.
  • dump(exif_dict) - Get exif as bytes to save with JPEG.
  • insert(exif_bytes, filename) - Insert exif into JPEG.
  • remove(filename) - Remove exif from JPEG.
  • transplant(filename, filename) - Transplant exif from JPEG to JPEG.

Example

exif_dict = piexif.load("foo1.jpg")
for ifd in ("0th", "Exif", "GPS", "1st"):
    for tag in exif_dict[ifd]:
        print(piexif.TAGS[ifd][tag]["name"], exif_dict[ifd][tag])

With PIL(Pillow)

from PIL import Image
import piexif

im = Image.open(filename)
exif_dict = piexif.load(im.info["exif"])
# process im and exif_dict...
w, h = im.size
exif_dict["0th"][piexif.ImageIFD.XResolution] = (w, 1)
exif_dict["0th"][piexif.ImageIFD.YResolution] = (h, 1)
exif_bytes = piexif.dump(exif_dict)
im.save(new_file, "jpeg", exif=exif_bytes)

Environment

Tested on Python 2.7, 3.3, 3.4, 3.5, pypy, and pypy3. Piexif would run even on IronPython. Piexif is OS independent and can run on GoogleAppEngine.

License

This software is released under the MIT License, see LICENSE.txt.

Project details


Release history Release notifications

History Node

1.1.0b0

This version
History Node

1.0.13

History Node

1.0.12

History Node

1.0.10

History Node

1.0.8

History Node

1.0.7

History Node

1.0.5

History Node

1.0.4

History Node

1.0.3

History Node

1.0.2

History Node

1.0.1

History Node

1.0.0

History Node

0.7.1

History Node

0.7

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
piexif-1.0.13-py2.py3-none-any.whl (19.4 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Sep 10, 2017
piexif-1.0.13.zip (1.0 MB) Copy SHA256 hash SHA256 Source None Sep 10, 2017

Supported by

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