ImageSorter is a professional Python-based image sorting application with a modern GUI, undo functionality, and Windows installer. It organizes camera files (RAW and JPEG formats) into folders by file type.
- ImageSorterGUI_v4.py - Main GUI application (current version)
- ImageSorterCore.py - Core sorting logic and file operations
- Logger.py - Logging system with rotating file handlers
- Config.py - Configuration management system
- TransactionManager.py - Undo/rollback functionality
- CR3andJPGMover.ps1 - PowerShell script (CLI alternative)
- pyinstaller.spec - PyInstaller configuration for building .exe
- imagesorter.iss - Inno Setup script for creating installer
- test_sorter.py - Unit tests for core functionality
- requirements.txt - Python dependencies
- icon.ico - Application icon
- README.md - Main project documentation
- CHANGELOG.md - Version history and changes
- CONTRIBUTING.md - Contribution guidelines
- LICENSE - MIT License
Developer documentation and release notes:
- HIGH_PRIORITY_SUMMARY.md - Technical summary of v2.1.0 enhancements
- UPGRADE_GUIDE.md - Migration guide for users
- RELEASE_NOTES_v2.1.0.md - v2.1.0 release notes
- RELEASE_NOTES_v2.2.0.md - v2.2.0 release notes
Application screenshots for documentation:
- main-window-v2.2.png - Current main window (v2.2.0)
- statistics-dialog.png - Statistics dashboard
- undo-ready.png - Undo functionality
- main-window.png - Legacy main window
- sorting-progress.png - Legacy progress view
Previous versions of the GUI (for reference):
- ImageSorterGUI.py - Original v2.0.0 GUI
- ImageSorterGUI_v3.py - v2.1.0 GUI
- README.md - Archive documentation
Application log files:
- imagesorter_YYYYMMDD.log - Daily log files (rotating)
PyInstaller temporary build files
Distribution files:
- ImageSorter/ - Portable application folder
- ImageSorterSetup.exe - Windows installer
config.json- User preferenceslast_transaction.json- Undo transaction loglogs/- Application logs
build/,dist/__pycache__/*.pyc,*.pyo*.egg-info/
ImageSorterGUI_v4.py
├── ImageSorterCore.py
│ ├── Logger.py
│ ├── Config.py
│ └── TransactionManager.py
├── Logger.py
├── Config.py
└── TransactionManager.py
- Make changes to Python files
- Test with
python ImageSorterGUI_v4.py - Run tests with
python test_sorter.py - Build .exe with
python -m PyInstaller pyinstaller.spec - Create installer with Inno Setup (compile
imagesorter.iss) - Update CHANGELOG.md
- Commit and release
- v1.0.0 - PowerShell script
- v2.0.0 - Initial Python GUI
- v2.1.0 - High Priority Enhancements (Preview, Threading, Logging, Config)
- v2.2.0 - UX Enhancements (Undo, Drag & Drop, Statistics)
- Basic GUI
- Sort by file type
- Recursive sorting
- Progress bar
- Preview mode
- Background threading
- Cancel button
- Comprehensive logging
- Configuration management
- Custom file extensions
- Undo/Rollback system
- Drag & Drop support
- Statistics Dashboard
- Enhanced UI
Last Updated: v2.2.0 (2025-10-05)