Metadata-Version: 2.5
Name: python-xiso-repacker
Version: 0.2.0
Summary: Basic file replacer for xisos
Project-URL: Documentation, https://github.com/abaire/python-xiso-repacker#readme
Project-URL: Issues, https://github.com/abaire/python-xiso-repacker/issues
Project-URL: Source, https://github.com/abaire/python-xiso-repacker
Author-email: Erik Abair <erik.abair@bearbrains.work>
License-Expression: MIT
License-File: LICENSE.txt
Keywords: xbox,xemu,xiso
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.9
Requires-Dist: platformdirs~=4.9.6
Requires-Dist: requests~=2.33.1
Description-Content-Type: text/markdown

# python-xiso-repacker

[![PyPI - Version](https://img.shields.io/pypi/v/python-xiso-repacker.svg)](https://pypi.org/project/python-xiso-repacker)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/python-xiso-repacker.svg)](https://pypi.org/project/python-xiso-repacker)

-----

## Purpose

A simple tool to reconfigure xiso files used by various test programs for the
original Microsoft Xbox, suitable for use in automated testing.

## Installation

```console
pip install python-xiso-repacker
```

## Usage

```console
python -m python_xiso_repacker -h
```

### Replace a file inside an ISO

To replace a file `path/in/iso/config.json` inside `game.iso` with `new_config.json` and save to `game-updated.iso`:

```console
python -m python_xiso_repacker game.iso path/in/iso/config.json --replace new_config.json -o game-updated.iso
```

### Extract a file from an ISO

To extract `path/in/iso/default.xbe` from `game.iso` and save it to `extracted_default.xbe`:

```console
python -m python_xiso_repacker game.iso path/in/iso/default.xbe --extract extracted_default.xbe
```

### Python Library Usage

```python
from python_xiso_repacker import ensure_extract_xiso, extract_file, replace_file

# Automatically finds or downloads extract-xiso
extract_xiso = ensure_extract_xiso()

# Replace a file inside an ISO
replace_file("game.iso", "output.iso", "path/in/iso/config.json", "new_config.json", extract_xiso)

# Extract a file from an ISO
extract_file("game.iso", "path/in/iso/config.json", "extracted_config.json", extract_xiso)
```


## License

`python-xiso-repacker` is distributed under the terms of
the [MIT](https://spdx.org/licenses/MIT.html) license.
