Skip to content

owl-sp/DTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DTools — Developer Tools Suite

A lightweight, cross-platform command-line toolkit for everyday file management.

Python Platform License Version


Overview

DTools bundles two everyday file utilities into a single installable package.
After one pip install, the DTools command is available system-wide on any supported platform.

# Tool Short name Description
1 File Organizer FO Sorts files by extension into Documents, Images, Videos, Audio, and Others subfolders
2 BTU — Backup To USB BTU Zips selected files/folders into a timestamped archive and copies it to your USB drive

Installation

Prerequisites

  • Python 3.9 or later
  • pip (bundled with Python 3.4+)

Steps

# 1. Unzip the downloaded package
unzip dtools.zip

# 2. Navigate into the project directory
cd dtools

# 3. Install locally
pip install .

✅ After installation, the DTools command is available in any terminal session, from any directory.

Platform-specific notes

Platform Notes
Windows Run in PowerShell or CMD. If DTools is not found, add your Python Scripts\ directory to the system PATH.
macOS If you see a permission warning, use pip install . --user
Linux If pip is managed by your OS, use pip install . --break-system-packages

Usage

DTools

The interactive menu will appear:

 ██████╗ ████████╗ ██████╗  ██████╗ ██╗     ███████╗
 ██╔══██╗╚══██╔══╝██╔═══██╗██╔═══██╗██║     ██╔════╝
 ██║  ██║   ██║   ██║   ██║██║   ██║██║     ███████╗
 ██║  ██║   ██║   ██║   ██║██║   ██║██║     ╚════██║
 ██████╔╝   ██║   ╚██████╔╝╚██████╔╝███████╗███████║
 ╚═════╝    ╚═╝    ╚═════╝  ╚═════╝ ╚══════╝╚══════╝

  Developer Tools Suite  —  v1.0.0

  [1]  File Organizer          (FO)
       Organizes all files in a directory into subfolders by type.

  [2]  BTU — Backup To USB     (BTU)
       Zips files/folders and transfers the archive to your USB drive.

  [0]  Exit
       Quit DTools.

  Choose a tool [0-2]:

Press 1, 2, or 0 and hit Enter.


Tool 1 — File Organizer

What it does

Scans a target directory and moves every file into a categorized subfolder,
all collected under a single organized folder/ directory.

Output structure

your-directory/
└── organized folder/
    ├── Documents/    ← .pdf .docx .txt .xlsx .csv .md …
    ├── Images/       ← .jpg .png .gif .svg .psd .raw …
    ├── Videos/       ← .mp4 .mkv .avi .mov .webm …
    ├── Audio/        ← .mp3 .wav .flac .aac .ogg …
    └── Others/       ← everything else

How to use

  1. Select [1] from the DTools menu.
  2. Enter the path to the directory you want to organize
    (press Enter to use the current directory).
  3. When asked for Dry-run preview, type y to preview without moving any files,
    or press Enter to proceed immediately.

Behaviour notes

  • If organized folder/ already exists it is reused — never recreated from scratch.
  • Filename conflicts are resolved automatically → report.pdf becomes report (1).pdf.
  • Only top-level files are moved; subdirectories are left untouched.

Tool 2 — BTU (Backup To USB)

What it does

Collects any mix of files and folders you specify, compresses them into a
timestamped .zip archive, and copies it directly to a connected USB drive.

Step-by-step flow

  [1]  Path: /home/user/documents    ✔  Folder added
  [2]  Path: /home/user/photo.jpg    ✔  File added
  [3]  Path: end

  ✔  Archive created: backup_20260524_103000.zip  (2.3 MB)
  ✔  USB drive detected: /media/john/MyUSB
  ✔  Transfer complete!

Archive structure

backup_20260524_103000.zip
└── backup/
    ├── documents/
    │   ├── note.txt
    │   └── report.pdf
    └── photo.jpg

Behaviour notes

  • Archive filename includes a timestamp — every backup is a separate file.
  • If multiple USB drives are connected, BTU lists them and asks which to use.
  • If no USB is detected automatically, you will be prompted to enter the path manually.
  • Duplicate archive names on USB are resolved by appending a counter (_1, _2, …).

Project Structure

dtools/
├── bin/
│   ├── __init__.py
│   └── dtools.py          ← Entry point  →  DTools command
├── lib/
│   ├── __init__.py
│   ├── menu.py            ← Interactive menu
│   ├── file_organizer.py  ← Tool 1
│   └── btu.py             ← Tool 2
├── __init__.py
setup.py                   ← pip install entry
README.md                  ← This file

Uninstall

pip uninstall dtools

Troubleshooting

DTools is not recognized as a command

Your Python bin/ (or Scripts\ on Windows) directory is not in the system PATH.
Find the correct path with:

# macOS / Linux
python3 -m site --user-base

# Windows
python -c "import site; print(site.getusersitepackages())"

Add the printed directory to your PATH environment variable and restart your terminal.


USB drive not detected

BTU scans standard mount points:

OS Locations scanned
Linux /media/<user>/<drive>, /mnt/<drive>
macOS /Volumes/<drive>
Windows Removable drive letters (A–Z)

If your drive is mounted elsewhere, enter its path manually when prompted.


Permission denied during file move or copy

Ensure you have read access to the source files and write access to the destination.
On macOS and Linux you may need to prefix with sudo for system-protected directories.


License

This project is released under the MIT License.
You are free to use, modify, and distribute it for any purpose, with or without attribution.


Made with Python · DTools v1.0.0

About

Some desktop tools

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages