🎯 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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| declutrr-0.1.4.tar.gz | 11.5 kB | Without provenance | Details for declutrr-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| declutrr-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for declutrr-0.1.4-py3-none-any.whl |
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
|
Security for declutrr 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.