A powerful and user-friendly tool to organize your photos by extracting EXIF data, renaming files based on dates, and sorting them into structured directories.
- Python 3.8 or higher
pip
for managing Python packagesexiftool
(for extracting EXIF data from images)
-
Download and Install Python:
Download Python from the official Python website. Ensure that the option to add Python to your PATH is selected during installation.
-
Install Required Python Packages:
Open a command prompt and navigate to your project directory. Run the following command to install the necessary packages:
pip install -r requirements.txt
-
Install
exiftool
:- Download the Windows executable from the ExifTool website.
- Follow the instructions on the website to install
exiftool
and ensure it is added to your system PATH.
-
Download and Install Python:
Python is typically pre-installed on macOS. To ensure you have the latest version, you can use Homebrew to install it:
brew install python
-
Install Required Python Packages:
Open Terminal and navigate to your project directory. Run:
pip install -r requirements.txt
-
Install
exiftool
:Install
exiftool
using Homebrew:brew install exiftool
-
Download and Install Python:
Python is usually pre-installed on most Linux distributions. To install or update Python, use your package manager. For example, on Ubuntu:
sudo apt-get update sudo apt-get install python3 python3-pip
-
Install Required Python Packages:
Open a terminal and navigate to your project directory. Run:
pip3 install -r requirements.txt
-
Install
exiftool
:Install
exiftool
using your package manager. For example, on Ubuntu:sudo apt-get install libimage-exiftool-perl
-
Open a Terminal or Command Prompt.
-
Navigate to your project directory.
-
Run the application:
python main.py
This will open the Photo Organizer GUI.
-
Select Source and Destination Directories:
- Use the "Browse" buttons to select the source directory (where your photos are currently stored) and the destination directory (where the organized photos will be moved).
-
Configure Folder Structure:
- Add or remove folder structure levels based on how you want to organize your photos.
-
Select File Types:
- Choose which file types to include in the processing.
-
Choose Renaming Strategy:
- Select how you want to rename your files.
-
Start Processing:
- Click "Start" to begin processing. The progress will be displayed on the progress bar.
-
Exit Application:
- Click "Exit" to close the application.
-
Folder Structure Levels: Define how the folders are structured based on photo metadata (e.g., year, month).
-
File Renaming Strategy: Choose between options like adding date prefixes, suffixes, or replacing filenames with dates.
-
File Types: Select which file types (e.g.,
.jpg
,.png
,.mp4
) to include in the processing. -
Delete Empty Source Folder: Optionally delete the source folder if it is empty after processing.
-
Missing Dependencies:
Ensure all required dependencies are installed. Run
pip install -r requirements.txt
to install missing packages. -
EXIF Data Not Extracted:
Make sure
exiftool
is correctly installed and available in your system PATH. -
File Not Moving:
Verify that the source and destination directories are correct and that you have the necessary permissions.
-
The application prints log messages to the console. These messages include errors and status updates. Check the console for information if something goes wrong.
-
For more detailed debugging, you can add additional logging statements to the code or run the application in an IDE with debugging capabilities.
If you'd like to contribute to the development of this project:
- Fork the repository.
- Create a new branch for your changes.
- Make your changes and test them.
- Submit a pull request with a clear description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.