Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🗂️ Data Organizer

A smart and lightweight Python utility that automatically organizes files into categorized folders.

Data Organizer scans one or multiple directories, detects file types, creates destination folders when needed, and moves files into their appropriate locations — helping keep your system clean and organized with minimal effort.


🚀 Overview

Tired of a cluttered Downloads or Desktop folder?

Data Organizer automatically:

  • Detects file types based on extensions
  • Creates category folders automatically
  • Sorts files into the correct location
  • Handles duplicates safely
  • Supports multiple directories in one session
  • Works on Linux, Windows, and macOS

No external dependencies required.


📸 Screenshots

🖥️ Desktop Version (Dark Mode)

Desktop Dark Mode Preview


📱 Mobile Version (Dark Mode)

Mobile Dark Mode Preview


✨ Features

✅ Automatic file categorization

✅ Smart folder creation

✅ Multiple directory support

✅ Duplicate-safe file handling

✅ Cross-platform compatibility

✅ Lightweight and fast

✅ No third-party packages required

✅ Safe to run multiple times


🎯 Use Cases

Perfect for:

  • Cleaning Downloads folders
  • Organizing Desktop files
  • Sorting project directories
  • Managing media collections
  • Keeping workspaces tidy
  • Automating repetitive file organization

🧩 Supported File Types

Category (folder created) Extensions
Images .jpg, .jpeg, .png, .gif, .bmp, .tiff, .webp, .svg
Videos .mp4, .avi, .mov, .mkv, .flv, .wmv
Audio .mp3, .wav, .ogg, .flac, .aac
PDFs .pdf
Documents .docx, .doc
Text Files .txt
Presentations .pptx
Spreadsheets .xlsx
CSVs .csv
Archives .zip, .rar, .tar, .gz
Executables .exe
Installers .msi
Disk Images .iso
Other Known extensions not listed above (files with no extension are skipped)

🔄 Workflow

Select Folder
      │
      ▼
Scan Files
      │
      ▼
Detect Extension
      │
      ▼
Create Category Folder
      │
      ▼
Move File
      │
      ▼
Organization Complete

🧠 Example

Before

Downloads/
├── photo.jpg
├── resume.docx
├── video.mp4
├── archive.zip
├── song.mp3

After

Downloads/
├── Images/
│   └── photo.jpg
├── Documents/
│   └── resume.docx
├── Videos/
│   └── video.mp4
├── Archives/
│   └── archive.zip
├── Audio/
│   └── song.mp3
└── PDFs/
    └── report.pdf

🏗️ Project Structure

data_organizer/
├── data_organizer.py
├── README.md
└── screenshots/
    ├── desktop-dark.png
    └── mobile-dark.png

💻 Installation

Clone the repository:

git clone https://github.com/linuxcoding-ADAM/data_organizer.git
cd data_organizer

▶️ Usage

Run the script:

python3 data_organizer.py

or

python data_organizer.py

Follow the prompts:

  1. Enter a directory path
  2. Add additional directories if desired
  3. Press Enter on an empty line
  4. Let Data Organizer sort everything automatically

🧾 Example Output

Please enter a directory path to organize (or press Enter to finish):
/home/adam/Downloads

Do you want to add another directory? (y/n):
n

Starting organization for 1 directory...

Processing directory:
/home/adam/Downloads

Created directory:
/home/adam/Downloads/Images

Moved 'photo.jpg' to 'Images'
Moved 'resume.docx' to 'Documents'
Moved 'video.mp4' to 'Videos'
Moved 'archive.zip' to 'Archives'
Moved 'song.mp3' to 'Audio'

All tasks are complete.

🧠 Technical Highlights

  • Built with pure Python
  • Uses only standard library modules
  • Efficient file operations with shutil
  • Dynamic folder creation
  • Extension-based classification
  • Safe duplicate handling
  • Cross-platform filesystem support

📦 Dependencies

No installation required.

Uses only:

import os
import shutil

⚠️ Safety Notes

  • Files are moved, not copied
  • Existing files are not overwritten
  • Duplicate filenames are handled safely
  • Folders are never moved
  • Safe to run repeatedly

For extra caution, test on a small directory first.


🔮 Future Improvements

  • GUI version
  • Drag & Drop support
  • Scheduled organization
  • Custom user-defined categories
  • Configuration file support
  • File size filtering
  • Advanced duplicate detection
  • Undo functionality

📄 License

Licensed under the MIT License.


👨‍💻 Author

Adam Mila

  • Linux User
  • Python Developer
  • Web Developer
  • Electrical Engineering Background
  • Open Source Enthusiast

GitHub: https://github.com/linuxcoding-ADAM

About

Lightweight Python CLI that sorts files into categorized folders by extension — zero dependencies, standard library only.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages