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.
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.
You can also install unrpa through pip, the Python package manager. You can do this on Windows with:
py -3 -m pip install "unrpa"
python3 rather than
py -3 on unix systems. You can see
the official documentation for more help installing
You can also download the latest release and extract it.
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
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"
usage: unrpa [-h] [-v] [-s] [-l | -t] [-p PATH] [-m] [--version] [--continue-on-error] [-f VERSION] [-o OFFSET] [-k KEY] FILENAME [FILENAME ...]
|FILENAME||the archive(s) to extract.|
|-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|
|--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.|
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.