Skip to content

zikani/diskman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DiskMan

DiskMan is a modern, cross-platform graphical disk and partition management tool inspired by EaseUS Partition Master, built with Python and PyQt5.


✨ Features

  • Visual Disk Layout: Interactive, graphical representation of disks and partitions.
  • Partition Operations: Clone, resize, move, delete, format, label, check, and defragment partitions.
  • Custom UI: Modern sidebar navigation, custom icons, and themed dialogs.
  • Status & Progress: Real-time feedback and progress bars for long-running operations.
  • Cross-Platform: Works on Windows, Linux, and macOS (where supported).
  • Safe Operations: Most actions are previewed and require confirmation before execution.
  • Extensible: Modular codebase for adding new disk utilities or UI features.
  • Partition Table Support: GPT and MBR partition tables.
  • File System Support: Ext4, NTFS, FAT32, and more.

🖥️ Screenshots

Add screenshots here to showcase the UI and features!


🚀 Getting Started

Prerequisites

  • Python 3.7 or newer
  • PyQt5
  • (Optional) psutil for advanced disk info

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/diskman.git
    cd diskman
  2. Install dependencies:

    pip install -r requirements.txt

    Or manually:

    pip install PyQt5 psutil

🏁 Usage

Run the Application

python -m ui.main_window

Or, if you have an entry script:

python main.py

Command Line Options

  • --debug : Enable debug logging
  • --safe : Run in safe mode (no write operations)

🛠️ Project Structure

diskman/
│
├── ui/
│   ├── main_window.py      # Main application window and UI logic
│   ├── disk_utils.py       # Disk and partition utility functions
│   └── ...                 # Other UI components
│
├── tests/                  # Unit and integration tests
├── requirements.txt
├── README.md
└── .gitignore

🧩 Extending DiskMan

  • Add a new operation:
    Implement the logic in disk_utils.py and add a button in main_window.py.
  • Customize the UI:
    Modify or extend widgets in the ui/ directory.
  • Localization:
    Add translation files and use Qt's translation features.

🧪 Testing

Run all tests with:

python -m unittest discover tests

🤝 Contributing

Pull requests and feature suggestions are welcome!
Please open an issue to discuss your ideas or report bugs.


📄 License

This project is licensed under the MIT License. See LICENSE for details.


🙏 Credits

  • Inspired by EaseUS Partition Master and GParted
  • Built with PyQt5

About

The provided script is a Python program for managing disks on Windows systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages