Skip to main content

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
  • --apply enables filesystem changes
  • --output selects a target root for organized files
  • --json enables JSON report output in addition to standard console output

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

photoforge-0.0.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

photoforge-0.0.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

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

Hashes for photoforge-0.0.1.tar.gz
Algorithm Hash digest
SHA256 8d1a19b48973cd89979c9c7b7ceaa56241c602665328ef4bb2af273f3c10c185
MD5 ae75c7061a336209c550b2930c074794
BLAKE2b-256 60bdad6749981c1c17a564d8f80ac480ce2ac885619870c52a2a345a2dc2fdcd

See more details on using hashes here.

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

Hashes for photoforge-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bd3ee6e0d508214c242a6760ca068b80f5442ca275c178cd729252f9ae9a3308
MD5 6448c7394bcb0fb46b11d347829f22f2
BLAKE2b-256 76785cbe4bce4bd66b34687ad63c6d8d4db6460e99690900ce5becabdcfc9dca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page