Deterministic JPEG photo deduplication and organization CLI.
Project description
PhotoForge
PhotoForge is a deterministic command-line tool for scanning JPEG files, extracting timestamps from EXIF metadata, detecting exact duplicates using SHA-256, and generating a canonical rename and organization plan.
Version 0.0.1 is a packaging scaffold aligned with the locked v0.1 CLI shape.
Specification
See SPEC.md for the locked v0.1 behavior contract.
Scope
PhotoForge v0.1 is defined around the following command shape:
photoforge <input_path> [--apply] [--output <output_path>] [--json]
Current scaffold includes:
- installable Python package
src/layout- CLI entry point
- argument parsing only
Business logic is intentionally not implemented yet.
Supported file formats
Planned v0.1 support is limited to JPEG files only:
.jpg.jpeg
Installation
pip install .
For editable development install:
pip install -e .
Usage
Show help:
photoforge --help
Dry-run against an input directory:
photoforge /path/to/input
Apply changes:
photoforge /path/to/input --apply
Write organized output to a target root:
photoforge /path/to/input --output /path/to/output
Emit JSON report in addition to standard console output:
photoforge /path/to/input --json
Combine flags:
photoforge /path/to/input --apply --output /path/to/output --json
Notes
- Dry-run is the default mode
--applyenables filesystem changes--outputselects a target root for organized files--jsonenables JSON report output in addition to standard console output
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file photoforge-0.0.1.tar.gz.
File metadata
- Download URL: photoforge-0.0.1.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d1a19b48973cd89979c9c7b7ceaa56241c602665328ef4bb2af273f3c10c185
|
|
| MD5 |
ae75c7061a336209c550b2930c074794
|
|
| BLAKE2b-256 |
60bdad6749981c1c17a564d8f80ac480ce2ac885619870c52a2a345a2dc2fdcd
|
File details
Details for the file photoforge-0.0.1-py3-none-any.whl.
File metadata
- Download URL: photoforge-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd3ee6e0d508214c242a6760ca068b80f5442ca275c178cd729252f9ae9a3308
|
|
| MD5 |
6448c7394bcb0fb46b11d347829f22f2
|
|
| BLAKE2b-256 |
76785cbe4bce4bd66b34687ad63c6d8d4db6460e99690900ce5becabdcfc9dca
|