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
- Clone this repository.
git clone https://github.com/ohmycoffe/organize-photos.git
- Navigate to the project directory.
cd organize-photos
- Install the required dependencies using pdm.
pdm install -G dev
Install pre-commit.
pdm run pre-commit install
- 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
- ohmycoffe
- GitHub: ohmycoffe
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a0f6c71056da33efc93f7330dcf07f33cdcb16e197a8279a9eabebc20332d3e |
|
MD5 | ae71c46c92b3c6d0ad7bbc21548aebe5 |
|
BLAKE2b-256 | 449b9243799205fff56d2344c0b2d1d28136bf6c036543d99a28cfa902b489e0 |
File details
Details for the file organize_photos-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: organize_photos-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.9.3 CPython/3.10.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e73877ed31bd0bb1e05e3abe9a92b6289291f10f1c4066da56b51dbc0c9ff70c |
|
MD5 | 5a794faa7be822573110ad147354a39f |
|
BLAKE2b-256 | 07bf1a9dc6f4328f2f14f95b2d5bfa6e741d40efc64b0f419ef338e07dcfb960 |