Metadata-Version: 2.4
Name: metadata-stripper
Version: 0.1.0
Summary: Read and remove EXIF/GPS metadata from images by re-encoding them clean.
License: MIT
Keywords: metadata,exif,gps,privacy,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Security
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Pillow>=9.0
Dynamic: license-file

<div align="center">

# 📷 Metadata Stripper

<img src="https://raw.githubusercontent.com/AnonymoDGH/metadata-stripper/main/logo.png" alt="Metadata Stripper" width="180"/>

**Your photos know more than you do. Read it, then erase it.**

[![Python](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/)
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![PyPI](https://img.shields.io/badge/PyPI-metadata--stripper-orange.svg)](https://pypi.org/project/metadata-stripper/)
[![Platform](https://img.shields.io/badge/platform-osx%20%7C%20linux%20%7C%20windows-lightgrey.svg)]()

> *"The photo was innocent. The GPS coordinates were not."*

</div>

---

## What is it?

Every JPEG whispers: *where it was taken, with what camera, at what exact
moment*. That whisper is EXIF — and half the time it includes the GPS
coordinates. **Metadata Stripper** reads the whisper, shows it to you, and
then removes it for good by re-encoding the pixels clean. No EXIF, no ICC,
no XMP survives the trip.

## Features

- 🔍 `scan` — dump every metadata field, flag GPS presence
- ✂️ `strip` — re-encode without metadata, in place or to a new file
- 🗂️ `strip-dir` — clean every image in a folder
- 📡 `hasgps` — one-word answer for scripts: `yes` / `no`
- 🖼️ JPEG, PNG, WebP, TIFF, BMP

## Install

```bash
pip install metadata-stripper
```

From source:

```bash
git clone https://github.com/AnonymoDGH/metadata-stripper
cd metadata-stripper
pip install -e .
```

## Quickstart

```bash
# What is this photo hiding?
metastrip scan vacation.jpg
# [*] vacation.jpg (2,345,678 bytes)
#     Make: Secret Agent Camera
#     DateTime: 2026:08:13 03:33:33
#     GPS: ⚠ present

# Kill it
metastrip strip vacation.jpg
# [+] vacation.jpg -> vacation.jpg  (removed 5 EXIF entries)

# Or clean a whole folder of camera exports
metastrip strip-dir ./export/
# [=] 142 images cleaned in place.

# Scripting? Ask a yes/no question
metastrip hasgps vacation.jpg
# no
```

## CLI reference

| Command | What it does |
|---|---|
| `metastrip scan <path>` | Show all metadata in file(s)/dir |
| `metastrip strip <path> [--out <f>]` | Remove metadata (in place unless `--out`) |
| `metastrip strip-dir <dir>` | Clean every image in a dir, in place |
| `metastrip hasgps <file>` | Print `yes`/`no` for GPS presence |

## How it works

<img src="https://raw.githubusercontent.com/AnonymoDGH/metadata-stripper/main/assets/architecture.svg" alt="Architecture" width="820"/>

## Tests

```bash
pip install pytest
pytest
```

The test suite hand-crafts a JPEG with a real GPS IFD (the way cameras write
it) and proves the strip removes it.

## License

[MIT](LICENSE) — a fiction research prop. Clean your own photos and let the
protagonist's geotag be a plot point, not a leak.
