🎯 Declutrr
A Date-app-like interface for rapidly sorting photos into "keep" and "delete" categories. Perfect for photographers who need to quickly curate large collections of images.
✨ Features
- 🎨 Simple Interface: Clean, intuitive UI for rapid photo sorting
- 📅 Smart Sorting: Photos displayed in chronological order using EXIF data
- ⌨️ Keyboard Shortcuts: Quick sorting using arrow keys
- ↩️ Undo Support: Easily reverse any sorting decision
- ⏭️ Skip Option: Temporarily skip photos you're unsure about
- 📊 Progress Tracking: Clear status display of sorting progress
🚀 Installation
pip install declutrr
Usage
Launch declutrr from terminal/command line
declutrr
Controls
You can choose between two control schemes:
Arrow Keys (Default)
- → (Right Arrow): Keep photo
- ← (Left Arrow): Delete photo
- ↓ (Down Arrow): Skip photo
Vim-style Keys
- L: Keep photo
- J: Delete photo
- K: Skip photo
Global Controls
- Z: Undo last action
- O: Open new folder
- Q: Quit application
- T: Toggle between Arrow/JKL controls
File Organization
- Kept photos are prefixed with "G_"
- Deleted photos are moved to a "delete" subfolder
📋 Requirements
- 🐍 Python 3.10+
- 🖼️ Pillow (PIL) 11.0.0+
🛠️ Additional Tools
📋 Requirements
- 🐍 Python 3.10+
- 🖼️ Pillow (PIL) 11.0.0+
- 👁️ OpenCV (cv2)
- 🤖 ultralytics (YOLOv11)
- 🎨 tkinter (included with Python)
🏷️ Auto Tagger (scripts/auto_tagger.py)
Automatically tags photos using AI-powered object detection:
- 🤖 Uses YOLOv11 for object detection and classification
- 🎯 Adds Finder tags based on detected content
- 📁 Perfect for organizing photos by content
🔍 Blur Detector (scripts/blur_detector.py)
Identifies and separates blurry photos:
- 📊 Uses Laplacian variance to detect image blur
- 📂 Moves blurry photos to a separate folder
- ✨ Helps maintain photo collection quality
📱 Screenshot Detector (scripts/screenshot_detector.py)
Identifies and organizes screenshots:
- 🤖 Uses AI and traditional CV methods
- 🔍 Detects UI elements and screen contents
- 📂 Separates screenshots from regular photos
🔧 Utility Scripts
- 📅 move.sh: Organizes photos into YYYYMM folders
- ✏️ renamer.sh: Renames photos using EXIF date/time
- 📱 screenshot.sh: Quick screenshot organization
🤝 Contributing
Contributions are welcome! Feel free to submit a pull request or open an issue.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Release files for declutrr 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| declutrr-0.1.4.tar.gz | 11.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| declutrr-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.4 kB
Release files / declutrr-0.1.4.tar.gz
| Download URL | declutrr-0.1.4.tar.gz |
|---|---|
| Size | 11.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ae2883b4c67cbe8526e758b28848276c355daae92b86f34ec148d47fd599fab
|
|
BLAKE2b-256 checksum How to use checksums |
e1c811c1f09fd987479cfb9e9e06761baf0836f0c43fdeefddbaa57b364e6264
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.5 CPython/3.8.20 Darwin/24.1.0
|
Release files / declutrr-0.1.4-py3-none-any.whl
| Download URL | declutrr-0.1.4-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1ed1e8c76acc977081ef17b40621eb1100fade9088e0e4b3ad0ccad4d10ad2e
|
|
BLAKE2b-256 checksum How to use checksums |
6637fc4fc9ac4cab2e6fe5582d5875b5268fd57107ee4c8c1d4dcfc553869e81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.5 CPython/3.8.20 Darwin/24.1.0
|