Skip to main content

A powerful Windows disk management library written in C++ with Python bindings

Project description

PyCDisk

PyCDisk is a powerful Python library for comprehensive management of Windows disks, implemented with a high-performance C++ core. It provides full control over disk operations, including initialization, partition creation, and burning ISO images to disks with specified partition schemes (MBR/GPT) and target systems (BIOS/UEFI).

Features

  • List Disks: Enumerate all physical disks connected to the system.
  • Initialize Disk: Initialize a disk with either MBR or GPT partition schemes.
  • Create Partition: Create partitions of a specified size.
  • Burn ISO: Write an ISO image to a disk, configuring it for BIOS or UEFI boot.

Installation (Windows Only)

pip install PyCDisk

Usage

from pycdisk import PyCDisk, PartitionScheme, TargetSystem

disk_manager = PyCDisk()

# List all physical disks
disks = disk_manager.list_disks()
for disk in disks:
    print(f"Disk {disk.disk_number}: Model={disk.model}, Size={disk.size / (1024**3):.2f} GB, Scheme={disk.scheme.name}")

# Example: Initialize Disk 1 with GPT scheme
# if disk_manager.initialize(disk_number=1, scheme="GPT"):
#     print("Disk 1 initialized with GPT.")
# else:
#     print("Failed to initialize Disk 1.")

# Example: Create a 10GB partition on Disk 1
# if disk_manager.create_partition(disk_number=1, size_gb=10):
#     print("10GB partition created on Disk 1.")
# else:
#     print("Failed to create partition on Disk 1.")

# Example: Burn an ISO image to Disk 1 for UEFI boot
# iso_path = "C:\\path\\to\\your\\image.iso"
# if disk_manager.burn_iso(disk_number=1, iso_path=iso_path, target="UEFI"):
#     print(f"ISO {iso_path} burned to Disk 1 for UEFI.")
# else:
#     print(f"Failed to burn ISO {iso_path} to Disk 1.")

Development

To build PyCDisk from source, you will need:

  • Python 3.7+
  • CMake 3.12+
  • A C++17 compatible compiler (MSVC recommended on Windows)
  • pybind11
git clone https://github.com/manus/PyCDisk.git
cd PyCDisk
pip install -r requirements.txt # (if any)
pip install .

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

License

PyCDisk is licensed under the MIT License. See the LICENSE file for more details.

Contact

For questions or support, please contact support@manus.im.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycdisk-0.1.0.tar.gz (3.1 kB view details)

Uploaded Source

File details

Details for the file pycdisk-0.1.0.tar.gz.

File metadata

  • Download URL: pycdisk-0.1.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0rc1

File hashes

Hashes for pycdisk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c0aee31a68a6218a94d37c7cd37af1c0169b0ddb3c555173c4ce069104a8409e
MD5 9cac73cf2e3e09e5a249b9ddb8804e38
BLAKE2b-256 500b105f7b49eef266b374556f38ffc5bdd8dbbc9ddd1c5bd26f6b6d4c91dcd6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page