Skip to main content

Simple python library for extracting and rebuilding ISOs

Project description

pyisotools

Pylint

python library for working with Gamecube ISOs (GCM)

Features

  • Extract and Build ISOs
  • Extract individual files/folders from an ISO
  • Specifically exclude subfolders/files using glob patterns
  • Custom file alignment
  • Custom file location
  • Custom ISO metadata

Limitations

  • Only supports Gamecube ISOs

TODO

  • Support Wii ISOs
  • ISO Partitions
  • Native archive support (U8 and RARC)
  • Native yaz0 and yay0 compression
  • Cross platform file drag-drop to/from pyisotools
  • File System real time search filter
  • File System update real time

Usage

GUI

To run the GUI from the cli, simply pass: python -m pyisotools

Extraction

To extract an ISO from the cli, pass: python -m pyisotools <iso> E [--dest path]

Rebuilding

To build a root folder into an iso, pass: python -m pyisotools <root> B [--newinfo] [--dest path]

Configuration (rebuilding from cli)

When an ISO is extracted, a file named .config.json is automatically generated and stored in the sys folder in the root directory. This file contains metadata about the ISO, such as the name of the game, its version, maker code, and so on. Editing this file results in the new data being used if rebuilding with option --newinfo enabled. The fields that need clairification are listed below:

  • Alignment: This field of key,value pairs defines the alignment of every file that matches the specified glob pattern set as the key, to be that of the value
  • Location: This field of key,value pairs defines the position in the ISO of every file that matches the specified filepath set as the key, to be that of the value
  • Exclude: This list of glob patterns determines if a file/folder is excluded or not. If a file/folder path matches any of the glob patterns in the list, it will not be built into the ISO

Configuration (GUI)

When a root is loaded, all metadata fields are accessible directly from the main window, and each node can be right clicked on to set the alignment, location, and exclude members

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

pyisotools-2.4.7.tar.gz (180.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyisotools-2.4.7-py3-none-any.whl (193.8 kB view details)

Uploaded Python 3

File details

Details for the file pyisotools-2.4.7.tar.gz.

File metadata

  • Download URL: pyisotools-2.4.7.tar.gz
  • Upload date:
  • Size: 180.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for pyisotools-2.4.7.tar.gz
Algorithm Hash digest
SHA256 2f6dba5ca2004c11eb3b9c4ef3afdab4349beff4195b05fb8dce2a122456a416
MD5 99045e434e4dc78f25bf9a11eb7134db
BLAKE2b-256 2d336df279d183d4a8bc493df784ea66ad773d2e321076ac78a2ec52678d51b3

See more details on using hashes here.

File details

Details for the file pyisotools-2.4.7-py3-none-any.whl.

File metadata

  • Download URL: pyisotools-2.4.7-py3-none-any.whl
  • Upload date:
  • Size: 193.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for pyisotools-2.4.7-py3-none-any.whl
Algorithm Hash digest
SHA256 32773d11fe62543dc881be355ac5dd59621aee38215ff8e4635217ff5f0cfa25
MD5 361466f1e37a061587fe90a0291770e8
BLAKE2b-256 3d4b54d4d7a77356491586ae9c119493f5860e083c6747e9ed88ea6a1d10824b

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