DiskMan is a modern, cross-platform graphical disk and partition management tool inspired by EaseUS Partition Master, built with Python and PyQt5.
- 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.
Add screenshots here to showcase the UI and features!
- Python 3.7 or newer
- PyQt5
- (Optional)
psutil
for advanced disk info
-
Clone the repository:
git clone https://github.com/yourusername/diskman.git cd diskman
-
Install dependencies:
pip install -r requirements.txt
Or manually:
pip install PyQt5 psutil
python -m ui.main_window
Or, if you have an entry script:
python main.py
--debug
: Enable debug logging--safe
: Run in safe mode (no write operations)
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
- Add a new operation:
Implement the logic indisk_utils.py
and add a button inmain_window.py
. - Customize the UI:
Modify or extend widgets in theui/
directory. - Localization:
Add translation files and use Qt's translation features.
Run all tests with:
python -m unittest discover tests
Pull requests and feature suggestions are welcome!
Please open an issue to discuss your ideas or report bugs.
This project is licensed under the MIT License. See LICENSE for details.
- Inspired by EaseUS Partition Master and GParted
- Built with PyQt5