• Stars
    star
    605
  • Rank 74,072 (Top 2 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created almost 13 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A program to extract files from the RPA archive format.

unrpa - Extract files from the RPA archive format.

PyPI PyPI - Python Version GitHub MyPy Check

About

unrpa is a tool to extract files from the RPA archive format (from the Ren'Py Visual Novel Engine).

It can also be used as a library.

Installation

Package manager

The best way to install unrpa is through your package manager, if a package is available for your operating system. I maintain an AUR package for Arch Linux users.

pip

You can also install unrpa through pip, the Python package manager. You can do this on Windows with:

py -3 -m pip install "unrpa"

Or use python3 rather than py -3 on unix systems. You can see the official documentation for more help installing through pip.

From source

You can also download the latest release and extract it.

Dependencies

You will need Python 3.7 or later in order to run it (either install through your package manager or directly from python.org).

If you are trying to extract more exotic RPA archives, there may be additional dependencies. unrpa should instruct you how to install them if required.

Package maintainers can see setup.py for a complete set of dependencies.

Examples

When installed through your package manager or pip, you should be able to use unrpa by opening a terminal or command prompt and doing something like:

unrpa -mp "path/to/output/dir" "path/to/archive.rpa"

If you are running from source, you will need execute python directly:

  • On most unix systems, open a terminal in the directory containing unrpa then:

    python3 -m unrpa -mp "path/to/output/dir" "path/to/archive.rpa"
    
  • On most Windows systems, open a Command Prompt in the directory containing unrpa then:

    py -3 -m unrpa -mp "path\to\output\dir" "path\to\archive.rpa"
    

Command line usage

usage: unrpa [-h] [-v] [-s] [-l | -t] [-p PATH] [-m] [--version]
             [--continue-on-error] [-f VERSION] [-o OFFSET] [-k KEY]
             FILENAME [FILENAME ...]

Options

Positional Argument Description
FILENAME the archive(s) to extract.
Optional Argument Description
-h, --help show this help message and exit
-v, --verbose explain what is being done, duplicate for more verbosity (default: 1).
-s, --silent no non-essential output.
-l, --list list the contents of the archive(s) in a flat list.
-t, --tree list the contents of the archive(s) in a tree view
-p PATH, --path PATH extract files to the given path (default: the current working directory).
-m, --mkdir will make any missing directories in the given extraction path.
--version show program's version number and exit
Advanced Argument Description
--continue-on-error try to continue extraction when something goes wrong.
-f VERSION, --force VERSION ignore the archive header and assume this exact version. Possible versions: RPA-1.0, RPA-2.0, RPA-3.0, ALT-1.0, ZiX-12A, ZiX-12B, RPA-3.2, RPA-4.0.
-o OFFSET, --offset OFFSET ignore the archive header and use this exact offset.
-k KEY, --key KEY ignore the archive header and use this exact key.

Errors

Common errors

  • Check you are using the latest version of Python 3.
  • Check you are using quotes around file paths.
  • Video guides may be out of date, please check this file for up-to-date advice on using the tool.

New errors

If something goes wrong while extracting an archive, please make an issue.

New variants of the RPA format get created regularly, so new games might not work - generally support can be added quickly though.