A safe and reliable Python desktop application for organizing files with backup, staging, rollback, cooperative cancel, and live progress all in a responsive Tkinter UI.
Smart File Manager is designed to organize files safely from a source folder by:
- creating a backup first,
- preparing a staging area,
- organizing files into categories,
- and applying changes only when safe.
It prevents data loss, supports cancellation at safe checkpoints, and performs rollback on failure.
Many folders especially downloads tend to become cluttered over time, making it difficult to locate files or maintain structure.
This project was created to solve that exact problem:
to safely organize messy folders without risking data loss, while still giving users control and transparency over the process.
✔ Automatic backup before any changes
✔ Staging for safe file organization
✔ Real-time per-file progress updates
✔ Cooperative cancel (safe checkpoints only)
✔ Apply phase is atomic (no mid-cancel)
✔ Threaded UI (responsive during long operations)
✔ Dark & Light theme toggle
✔ Clean rollback on failure
The easiest way to use it:
👉 Download the executable from the latest release:
https://github.com/Eakempreet/smart-file-manager/releases/latest
No installation or Python required.
Just double-click the downloaded SmartFileManager.exe on Windows.
- Select Source Folder
- Select Backup Location
- Click Run
- Watch progress and let it finish
-
Backup:
- Copies all files to a backup folder
- Safe cancel between files
-
Staging:
- Copies to staging directory
- Cancel allowed here
-
Organizing:
- Categorizes files in staging
-
Apply:
- Applies organized structure to original
- Atomic and not cancellable
-
Rollback:
- Restores from backup if apply fails
If you want to use or modify the source:
git clone https://github.com/Eakempreet/smart-file-manager.git
cd smart-file-managerCreate and activate a virtual environment (Windows PowerShell):
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pipRun the app:
python run.pyThis project uses:
- Separation of concerns: UI vs backend logic
- Threading: keeps UI responsive
- Queue communication: backend → UI updates
- Callback hooks: for progress reporting
- Safe checkpoints: for cooperative cancel
If you want to generate a Windows executable:
python -m pip install --upgrade pyinstaller
pyinstaller --noconfirm --clean --onefile --windowed --name SmartFileManager --add-data "assets_ui;assets_ui" run.pyThen your EXE will be in:
dist/SmartFileManager.exe
Notes:
- The
--add-data "assets_ui;assets_ui"part is required so icons/screenshots can be bundled. - The app loads bundled assets using a PyInstaller-safe path (
sys._MEIPASS).
- Icons missing / crash about
assets_ui/...png: rebuild with--add-data "assets_ui;assets_ui". - Cancel doesn’t stop instantly: cancel is cooperative (it stops at safe checkpoints).
- Staging folder not deleting on Windows: Explorer/antivirus can temporarily lock files; try again or delete manually.
Contributions are welcome! Open an issue or submit a pull request.
AI-assisted tools (such as GitHub Copilot) were used during development to speed up iteration and reduce boilerplate.
All architectural decisions, safety constraints, and final implementations were designed, reviewed, and validated manually.


