skillfed

exif

Read and modify image EXIF metadata using Python.

exif v1.6.1 111.2K downloads/30d#12,430 on PyPI
Permissive license DORMANT released

What it is and what it does

exif is a pure-Python library for reading and modifying EXIF metadata embedded in image files. It provides a simple object-oriented interface: load an image file, access EXIF tags as Python attributes (e.g., `image.gps_latitude`, `image.model`), modify or delete them, and write the updated image back to disk. The package handles the binary EXIF format internally, so you work with high-level Python objects rather than raw bytes.

The library supports a wide range of EXIF tags including camera settings (aperture, shutter speed, ISO), GPS coordinates, timestamps, and device information. It requires only plum-py as a runtime dependency and runs on Python 3.7+. The maintainer developed it as a hobby project and now has limited bandwidth, though the package is marked Production/Stable and accepts community contributions.

Use it for:

  • Batch remove GPS coordinates from photos before sharing them online for privacy.
  • Extract camera model, lens, and shooting parameters from a folder of images for analysis.
  • Modify image timestamps or device metadata in bulk using a Python script.
  • Read GPS location data from photos to build a map of where images were taken.
  • Strip or update EXIF tags in automated image processing pipelines.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Read, modify, and write EXIF metadata in image files using pure Python, without external software dependencies.

Yes, if you need straightforward EXIF read/write without external dependencies. The package is stable, low-friction to install, and has no known vulnerabilities. The dormant maintenance status is a minor concern for long-term support, but the code is mature and the maintainer welcomes contributions. Not suitable if you need active development or guarantees of rapid bug fixes.

Install

exif on PyPI

pip

pip install exif

uv

uv add exif

poetry

poetry add exif

Installing exif

Before you install

Low friction: pure Python wheel with a single runtime dependency (plum-py). Last release was 612 days ago; the maintainer notes reduced bandwidth since 2018 but accepts contributions. Status is dormant rather than abandoned.

License in practice

MIT license (permissive); you can use, modify, and distribute this package with minimal restrictions.

Quickstart

from exif import Image

with open('photo.jpg', 'rb') as f:
    img = Image(f)
    print(img.has_exif)
    print(img.gps_latitude)
    img.make = 'Modified'

with open('output.jpg', 'wb') as f:
    f.write(img.get_file())

Requires Python 3.7 or later; image file must be opened in binary mode ('rb' or 'wb').

Verify before relying

  • Whether plum-py introduces any significant runtime overhead or compatibility concerns.
  • Current state of bug fixes and whether dormant status affects reliability for production use.
  • Performance characteristics when processing large batches or high-resolution images.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 1 — plum-py
Maintenance dormant — 612 days since the last release
First released
Downloads 111,163/month — #12,430 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: exif-1.6.1-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Multimedia :: Graphics :: Editors

Tags

read exif metadata pythonmodify image exif tagsbatch process image metadataexif editor libraryimage metadata manipulationgps coordinates from photosstrip exif from images
image-metadataexif-tagsphoto-processing

More Graphics packages