--- id: exif version: "1.6.1" license: unclear license_treatment: permissive maintenance: dormant --- # exif — Read and modify image EXIF metadata using Python. License: permissive · Maintenance: dormant · Downloads: 111.2K/mo ## 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 above — 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 pip install exif uv add exif 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_current - Install friction: low - Maintenance: dormant - Downloads: 111.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags read exif metadata python, modify image exif tags, batch process image metadata, exif editor library, image metadata manipulation, gps coordinates from photos, strip exif from images, image-metadata, exif-tags, photo-processing [View on SkillFed](https://skillfed.io/packages/exif) · [View on PyPI](https://pypi.org/project/exif/)