ClutterXP
Tired of a messy Downloads folder? ClutterXP quietly tidies your files into the right place—on your terms, without ever losing a single file.
Whether your Downloads folder is buried under months of receipts, PDFs, wallpapers, installers, and screenshots, or you just want your desktop kept neat, ClutterXP does the heavy lifting for you.
Use the clean visual desktop app or run quick commands from your terminal.
🛡️ Why you can actually trust it
Most file cleanup tools feel risky—what if they delete something important or move a file you didn't want touched? We built ClutterXP with ironclad safety guarantees:
- Never deletes or overwrites: Files only move if the destination is safe. If a file with the same name already exists, ClutterXP renames the new one (e.g.
report (1).pdf) or skips it. Your existing files are never replaced or destroyed. - Only moves what you tell it to: If a file doesn't match a rule you created, it stays exactly where it is. No surprise moves, no mystery "unsorted" dump folders.
- One-click instant undo: Every action is saved in a local journal. If you ever change your mind,
clutterxp undo(or a single click in the app) puts every file right back where it was originally. - 100% private and offline: Runs completely on your machine. No accounts, no cloud sync, no tracking, and zero internet requests.
⚡ Getting Started
1. Installation
Install ClutterXP with Python (3.10+):
# Recommended: install with desktop app (GUI) support
pip install "clutterxp[gui]"
# Or on Kali Linux / Debian using pipx:
pipx install .
2. Choose how you want to use it
Option A: The Desktop App
Just run:
clutterxp gui
You'll get an intuitive dashboard where you can:
- Preview moves before they happen with a clear interactive table.
- Set up simple rules with live matching tests (type a filename and see which rule catches it instantly).
- Find duplicate files and safely quarantine them without risking accidental deletion.
- Undo any batch with a single button.
Option B: The Terminal (Fast & Scriptable)
Prefer working from the command line? Use clutterxp or the short alias cxp:
# 1. Create your default starter config
clutterxp init
# 2. Test which rule matches a filename
clutterxp rules test "invoice_march.pdf"
# 3. Preview what would be organized (dry-run, touches nothing)
clutterxp organize ~/Downloads --dry-run
# 4. Organize your Downloads folder
clutterxp organize ~/Downloads --yes
# 5. Changed your mind? Undo the entire batch instantly!
clutterxp undo --yes
Features that make life easier
Set it and forget it (Background Watcher)
Turn on automatic sorting. Whenever a new download finishes, ClutterXP waits until it's completely written to disk, then quietly sorts it into place.
clutterxp watch
You can even enable it as a system background service:
clutterxp service install
clutterxp service status
Find and clean duplicate downloads
Downloaded the same PDF or installer three times? ClutterXP safely identifies duplicate files taking up storage, shows you where they live, and lets you isolate them safely.
clutterxp duplicates scan ~/Downloads
Customize your rules in seconds
Rules are dead simple. Group by keywords, file extensions, size, or age:
- "Move anything with
invoiceorreceiptto~/Documents/Invoices" - "Move
.pngand.jpgwithwallpaperto~/Pictures/Wallpapers" - "Move
.deb,.iso,.rpmto~/Downloads/Installers"
You can edit them directly in the visual app or via clutterxp rules add.
Cheat Sheet
| What you want to do | Command |
|---|---|
| Open the visual desktop app | clutterxp gui |
| Preview organization without moving files | cxp organize ~/Downloads --dry-run |
| Organize a folder | cxp organize ~/Downloads |
| Undo the last batch of moves | cxp undo |
| Watch a folder and sort new files automatically | cxp watch |
| Install background watcher service | cxp service install |
| Scan for duplicate files | cxp duplicates scan ~/Downloads |
| Check system health and file integrity | cxp doctor |
| View organization history | cxp history |
License
MIT
Metadata
Release files for clutterxp 1.1.1
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 |
|---|---|---|---|---|
| clutterxp-1.1.1.tar.gz | 312.2 kB | Without provenance | Details for clutterxp-1.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| clutterxp-1.1.1-py3-none-any.whl | Python 3 | none | any | Details for clutterxp-1.1.1-py3-none-any.whl |
Total release size: 474.4 kB
Release files / clutterxp-1.1.1.tar.gz
| Download URL | clutterxp-1.1.1.tar.gz |
|---|---|
| Size | 312.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47db3fa79919966cb37e5117d146994947535bf4afce15a71fb58266e0ba114e
|
|
BLAKE2b-256 checksum How to use checksums |
43c8cd1ca23c8b373e5c63b3716eab9b9c403a855502ab29281478b8553ee199
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / clutterxp-1.1.1-py3-none-any.whl
| Download URL | clutterxp-1.1.1-py3-none-any.whl |
|---|---|
| Size | 162.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4bc83cb7ce6e19e190dd5307a499d23f9d3da14715858b334414756c5fdb6d0c
|
|
BLAKE2b-256 checksum How to use checksums |
bc5c809b9fd3a181da59af4f81d3de018a28ff9263188f9285a076aa3f2b6f98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Security for clutterxp 1.1.1
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.