Metadata-Version: 2.1
Name: vidua
Version: 0.4.4
Summary: Apply patches to ROMs and other files
Home-page: http://github.com/sopoforic/vidua
Author: Tracy Poff
Author-email: tracy.poff@gmail.com
License: UNKNOWN
Project-URL: Documentation, https://vidua.readthedocs.io/
Project-URL: Issues, https://github.com/sopoforic/vidua/issues
Description: # vidua
        
        Vidua can be used to apply (BPS or IPS) patches. It is intended particularly for use with ROM
        hacks.
        
        ## Installation
        
        ```shell
        pip install vidua
        ```
        
        ## Usage
        
        A simple script is included to validate or apply patches from the command line:
        
        ```shell
        vidua patch.bps original.rom patched_output.rom
        ```
        
        Full usage instructions:
        
        ```shell
        $ vidua --help
        usage: vidua [-h] [-v] [-q] PATCH [ORIGINAL] [OUTPUT]
        
        Apply or validate patches.
        
        positional arguments:
          PATCH           the patch file
          ORIGINAL        the file to be patched
          OUTPUT          filename to write patched file
        
        optional arguments:
          -h, --help      show this help message and exit
          -v, --validate  validate the patch only; do not apply it
          -q, --quiet     suppress output except errors
        ```
        
        Vidua may also be used as a library, to validate or apply patches from within
        another program:
        
        ```python
        from vidua import bps
        
        patch = open('patch.bps', 'rb')
        original = open('original.rom', 'rb')
        
        with open('patched.rom', 'wb') as patched:
            patched.write(bps.patch(original, patch).read())
        ```
        
        If the file is very large, you may prefer to use `shutil.copyfileobj` when
        writing to disk.
        
        ## Credits
        
        Alcaro's [Floating IPS](https://www.smwcentral.net/?p=section&a=details&id=11474)
        was very useful in working out how to handle BPS files when byuu's documentation
        was unclear.
        
        ![Test](https://github.com/sopoforic/vidua/actions/workflows/test.yml/badge.svg?event=push)
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
