Metadata-Version: 2.4
Name: assets-metadata-remover
Version: 1.0.0
Summary: Remove metadata from images and videos recursively
Project-URL: Homepage, https://github.com/synapsync/assets-metadata-remover
Project-URL: Repository, https://github.com/synapsync/assets-metadata-remover
Author: Synapsync
License-Expression: MIT
Keywords: exif,images,metadata,privacy,videos
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Security
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# assets-metadata-remover

Command-line tool that removes metadata from images and videos recursively, generating clean copies in an output folder that mirrors the original structure. Original files are **never** modified.

## Installation

### With pipx (recommended)

```bash
pipx install assets-metadata-remover
```

### With pip

```bash
pip install assets-metadata-remover
```

### System dependencies

- **ffmpeg** — required for video processing
- **exiftool** — required for image processing

Install with Homebrew:

```bash
brew install ffmpeg exiftool
```

> If a tool is missing, the script detects it at startup and processes only the files it can, showing a clear warning.

## Basic usage

```bash
assets-metadata-remover /path/to/your_files
```

This creates `/path/to/your_files_clean/` with the same folder structure and metadata-free files.

### Options

```
usage: assets-metadata-remover [-h] [-o OUTPUT] [--dry-run] [-v] [--verify] input

positional:
  input              Directory (or file) to process

options:
  -o, --output DIR   Output directory (default: <input>_clean)
  --dry-run          Simulate without writing
  -v, --verbose      Per-file logging
  --verify           Re-inspect copies and report residual metadata
```

### Examples

Process a directory with custom output:

```bash
assets-metadata-remover ~/Photos -o ~/Photos_clean
```

Simulate without writing (dry run):

```bash
assets-metadata-remover ~/Photos --dry-run
```

Verbose mode with cleanup verification:

```bash
assets-metadata-remover ~/Photos -v --verify
```

Process a single file:

```bash
assets-metadata-remover ~/photo.jpg -o ~/clean/
```

## Safety

Original files are **never** modified. The script always writes to a separate output folder.

## Supported formats

**Images:** JPG, JPEG, PNG, TIFF, TIF, WebP, HEIC, HEIF, GIF, BMP

**Videos:** MP4, MOV, MKV, AVI, M4V, WebM, WMV, FLV, 3GP

Extension comparison is case-insensitive (`.JPG` and `.jpg` are equivalent).

## Limitations

- Videos are copied without re-encoding (`-c copy`), which is fast and lossless, but some exotic formats may not be compatible with the output container.
- Some metadata embedded in proprietary formats may not be fully removed by `exiftool`.
- Directory symlinks are not followed to avoid loops.
