Turn a messy folder into tidy categories in one command. Images, Videos, Music, Documents, Archives, Code & more β pure Python, zero dependencies.
- π One-command cleanup β
python organizer.py ~/Downloadsand you're done - π Dry-run mode β preview every move before anything changes (
--dry-run) - π‘οΈ Never overwrites β collisions become
file_1.ext,file_2.ext, β¦ - π Smart skips β ignores subfolders, hidden files (unless
--include-hidden) and itself - π Cross-platform β Windows, Linux, macOS
- π Stdlib only β no
pip installneeded, ever
| Folder | Extensions |
|---|---|
| Images | png, jpg, jpeg, gif, bmp, webp, svg, ico, heic |
| Videos | mp4, mkv, avi, mov, webm, flv, wmv |
| Music | mp3, wav, flac, aac, ogg, m4a |
| Documents | pdf, docx, txt, pptx, xlsx, csv, md, epub, β¦ |
| Archives | zip, rar, 7z, tar, gz, bz2, xz |
| Code | py, js, ts, html, css, java, json, sh, sql, β¦ |
| Apps | exe, msi, dmg, pkg, deb, apk, β¦ |
| Fonts | ttf, otf, woff, woff2 |
| Others | everything else |
git clone https://github.com/DeveloperAmiri/AI-File-Organizer.git
cd AI-File-Organizer
# preview first (recommended)
python organizer.py ~/Downloads --dry-run
# actually organize
python organizer.py ~/Downloads --verboseNo arguments? It will simply ask for a folder path.
usage: organizer.py [--dry-run] [--include-hidden] [--verbose] [folder]
python -m pytest tests/ -q # 7 tests, no extra deps (uses tmp_path)AI-File-Organizer/
βββ organizer.py CLI + organize() / categorize() logic
βββ tests/ pytest suite (tmp_path based)
βββ requirements.txt empty β stdlib only
βββ README.md
Pull requests welcome β fork, branch, PR. Please keep it dependency-free.
MIT β see LICENSE.