PyPixPro is an automated image sorting and renaming tool for macOS. It leverages Python’s powerful libraries to sort images based on orientation, correct image metadata, and organize your folders efficiently. This tool supports multiple file types, including JPEG, PNG, HEIC, and raw image formats, and it even generates checksums for verification.
- Overview
- Features
- How It Works
- Installation
- Usage
- File Types Supported
- Advanced Configuration
- Troubleshooting
- Contributing
- License
- Contact
PyPixPro simplifies the process of managing and sorting images. It organizes photos into Portrait and Landscape folders, handles HEIC files, generates checksums, and renames files with customizable prefixes. This tool aims to keep your photo library neat, with minimal manual intervention.
- Automated Sorting: Categorize images into Portrait, Landscape, Screenshots, or Misc folders.
- Metadata Correction: Fix image orientation using EXIF metadata.
- HEIC Support: Process HEIC and HEIF images seamlessly.
- Checksum Generation: Verify file integrity using SHA-256 checksums.
- Custom Prefixes: Rename files with user-defined prefixes for better organization.
- Cross-format Handling: Sorts raw images, videos, and even documents.
- Error Handling: Continues processing even if some files encounter errors.
- macOS Integration: Uses
osascript
for user prompts and alerts.
- Input Folder Selection: The user provides a folder via drag-and-drop or command-line input.
- Checksum Generation: SHA-256 checksums are generated to ensure data integrity.
- Sorting Process:
- Portrait vs. Landscape: Images are sorted based on their orientation.
- Screenshots & Miscellaneous Files: Specific file types are moved to dedicated folders.
- File Renaming: Files in the Portrait and Landscape folders are renamed with custom prefixes.
- Completion Alert: A macOS alert notifies the user when the process finishes.
-
Install Python 3 (if not already installed).
- Use Homebrew:
brew install python
- Use Homebrew:
-
Install Dependencies:
pip install pillow pyheif
- Drag and Drop: Drop a folder onto the PyPixPro droplet to start the process.
- Command-Line Usage:
python3 PyPixPro.py /path/to/your/folder
- Standard Images:
.jpg
,.jpeg
,.png
,.gif
,.bmp
,.tiff
,.webp
, etc. - HEIC/HEIF Files:
.heic
,.heif
- Raw Image Formats:
.dng
,.nef
,.cr2
,.arw
, etc. - Miscellaneous Files:
.txt
,.pdf
,.mp4
,.mov
, etc.
- Modify Folder Names: Adjust the constants in the code to change folder names.
- Add New File Types: Extend supported file types by editing the
STANDARD_IMAGE_EXTENSIONS
orMISC_EXTENSIONS
constants. - Error Handling: The script gracefully skips files with issues, printing errors for reference.
- HEIC Files Not Processed: Ensure
pyheif
is installed via pip. - Permission Errors: Check if you have the necessary permissions for the input folder.
- EXIF Metadata Issues: Some images might not contain correct orientation metadata.
- Slow Performance: This can happen with large datasets—try excluding large files.
We welcome contributions to improve PyPixPro! Here’s how you can help:
- Fork the Repository on GitHub.
- Create a Feature Branch:
git checkout -b feature/AmazingFeature
- Commit Your Changes:
git commit -m "Add some AmazingFeature"
- Push to the Branch:
git push origin feature/AmazingFeature
- Open a Pull Request: Submit your changes for review.
This project is licensed under the MIT License. See the LICENSE.md file for more information.
Your Name – RazorBackRoar@icloud.com
Project Link: GitHub