Skip to main content

Python CLI program that allows you to organize your photos into subfolders based on their EXIF metadata.

Project description

organize-photos

The organize-photos is a Python CLI program that allows you to organize your photos into subfolders based on their EXIF metadata. You can define a custom pattern to create new paths for your photos, making it easy to sort and categorize your image collection.

Features

  • Organize photos based on EXIF metadata such as date and time taken.
  • Customize the path structure using a template with placeholders for year, month, day, hour, minute, and second.
  • Copy and rename images to the destination directory, maintaining the folder structure specified by the template.
  • Supports UNIX-style glob patterns for selecting files in the source directory.

Installation

Development

Prerequisites: pdm for environment management

  1. Clone this repository.
git clone https://github.com/ohmycoffe/organize-photos.git
  1. Navigate to the project directory.
cd organize-photos
  1. Install the required dependencies using pdm.
pdm install -G dev

Install pre-commit.

pdm run pre-commit install
  1. Run tests.
pdm run pytest

NOTE: This repository supports also GNU Make commands

make help

Usage

You can easily install the latest released version using binary installers from the Python Package Index (PyPI):

pip install organize-photos --user
  • source-dir: The source directory containing the photos you want to organize.
  • -d, --dest-dir: The destination directory where copied and renamed images will be saved. If not provided, the default is the current working directory.
  • -t, --template: The template for generating new file paths. Customize the path structure using placeholders such as ${year}, ${month}, ${day}, ${hour}, ${minute}, and ${second}.
  • -p, --file-pattern: The pattern for selecting files in the source directory. Use UNIX-style glob patterns to filter which files will be processed. The default is to process all files.

Example

organize-photos /path/to/source/photos -d /path/to/output -t "${year}/${year}${month}${day}${hour}${minute}${second}" -p "**/*.jpg"

This command will organize the photos in the source directory based on the specified template and file pattern and save the organized photos in the destination directory. For instance, if you have a file located at /path/to/source/photos/image1.jpeg, which was created on January 3, 2019, at 20:54:12, the program creates a copy of the file at /path/to/output/2019/20190103205412.jpeg following the specified pattern.

License

organize-photos is released under the MIT License.

Author

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

organize_photos-0.1.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

organize_photos-0.1.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file organize_photos-0.1.0.tar.gz.

File metadata

  • Download URL: organize_photos-0.1.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.9.3 CPython/3.10.7

File hashes

Hashes for organize_photos-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2a0f6c71056da33efc93f7330dcf07f33cdcb16e197a8279a9eabebc20332d3e
MD5 ae71c46c92b3c6d0ad7bbc21548aebe5
BLAKE2b-256 449b9243799205fff56d2344c0b2d1d28136bf6c036543d99a28cfa902b489e0

See more details on using hashes here.

File details

Details for the file organize_photos-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for organize_photos-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e73877ed31bd0bb1e05e3abe9a92b6289291f10f1c4066da56b51dbc0c9ff70c
MD5 5a794faa7be822573110ad147354a39f
BLAKE2b-256 07bf1a9dc6f4328f2f14f95b2d5bfa6e741d40efc64b0f419ef338e07dcfb960

See more details on using hashes here.

Supported by

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