ExifSort
ExifSort - sort media files into date-based folders by reading EXIF creation date.
Key Features
✅ Robust Metadata Support: Powered by ExifTool, ensuring reliable reading of EXIF/XMP creation dates from a wide variety of formats (JPG, DNG, MOV, MP4, ORF, RAW, and more).
✅ Flexible Organization: Automatically moves files into date-based directory structures (e.g., 2023/20231224) and renames them with timestamp prefixes (e.g., 20231224-180000-Image.jpg).
✅ "Party Mode" (Day Shift): Define when a new day starts (default: 04:00 AM). Photos taken after midnight (e.g., at a party) will be sorted into the previous day's folder, keeping events together.
✅ Extension Normalization: Automatically unifies file extensions to lowercase standard formats (e.g., converts .JPEG to .jpg, .TIFF to .tif).
✅ Time Correction: Apply a time offset (in seconds) to fix timestamps if your camera's clock was set incorrectly.
✅ Safe & Secure:
→ Dry-run mode (--test): Preview changes without modifying any files.
→ Conflict protection: Skips files if the target destination already exists (unless overwrite is forced).
→ Fallback handling: Files without metadata are safely moved to a dedicated _UNKNOWN folder.
✅ CLI Friendly: Includes a progress bar, colorful output, and verbose mode for detailed processing logs.
Installation
pip install exifsort
Requirements
- Python 3.13+
- ExifTool command-line tool
- PyExifTool Python library
License
MIT License - see LICENSE for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Links
Metadata
Release files for ExifSort 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| exifsort-0.2.5.tar.gz | 25.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| exifsort-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.4 kB
Release files / exifsort-0.2.5.tar.gz
| Download URL | exifsort-0.2.5.tar.gz |
|---|---|
| Size | 25.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34742f265967d3c319aba01f554e0a19bd04df9019230060dcacd09962fb71fc
|
|
BLAKE2b-256 checksum How to use checksums |
6be9c4cb1a481139fae66a61f84f00ad57bab3a93febe7749eee0e3e72ec455c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / exifsort-0.2.5-py3-none-any.whl
| Download URL | exifsort-0.2.5-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ea93eafe8688a8d2752cab9d3fdde7375f4197b66f80e7d2ded9fea59fa57f1
|
|
BLAKE2b-256 checksum How to use checksums |
e54631572d84fa63a21f884521c6b6a8d54152255c345a2f5496f93a918091a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|