rpycdec
A tool for decompiling Ren'py compiled script files (.rpyc and .rpymc).
Features
- Decompile
.rpycand.rpymcfiles to readable Ren'Py script code - Extract RPA archives
- Create RPA archives from existing files or directories
- Extract and edit Ren'Py save files (
.save→ JSON →.save) - Extract Ren'Py games from Android APK files
- Extract translations from compiled scripts to
tl/{language}/directories - Support for multiple Ren'Py versions (7.x, 8.x)
Installation
Install with pip:
pip install rpycdec
Or install from source:
git clone https://github.com/cnfatal/rpycdec.git
cd rpycdec
pip install .
Usage
Command Line Interface
Decompile a single file:
rpycdec decompile script.rpyc
Decompile all files in a directory:
rpycdec decompile /path/to/game/
Extract RPA archive:
rpycdec unrpa archive.rpa
Extract files whose archive paths match a regular expression:
rpycdec unrpa archive.rpa -e '\.rpyc?$'
Extract files with one of several suffixes (case-insensitive):
rpycdec unrpa archive.rpa -s .rpy .rpyc
--expression/-e may be repeated, as may --suffix/-s. When both are
used, a file is extracted if it matches any expression or any suffix.
Create RPA archive:
rpycdec rpa /path/to/game/files -o archive.rpa
Extract Ren'Py game from Android APK:
rpycdec extract-game game.apk
Extract translations:
rpycdec extract-translate /path/to/game/ -l Chinese
Security Warning
This tool processes .rpyc, .rpymc, .rpa, and .save files which use Python's pickle format internally. rpycdec uses restricted unpicklers with whitelist-based class loading to mitigate arbitrary code execution risks, but no pickle safeguard is perfect. Only process files from sources you trust.
Set RPYCDEC_NO_WARNING=1 to suppress the CLI security warning.
See also: Python pickle security warning
Troubleshooting
-
Q: Pickle error
ModuleNotFoundError: No module named '...'A: This means our fake
renpy/storepackages don't cover the class your file needs. Please open an issue with the Ren'Py version and the file that failed.
Contributing
Contributions are welcome! Please open an issue before submitting major changes so we can discuss the approach.
Community & Support
- GitHub Issues — Bug reports and feature requests
- Telegram Group — Community discussion and support
Alternative
- unrpyc - The well-established and widely-used Ren'Py script decompiler
Metadata
Release files for rpycdec 0.1.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rpycdec-0.1.14.tar.gz | 45.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rpycdec-0.1.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 97.3 kB
Release files / rpycdec-0.1.14.tar.gz
| Download URL | rpycdec-0.1.14.tar.gz |
|---|---|
| Size | 45.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffce629ce3c3e4620d46979db244f0a3078430c828032cfc4371cba014ed6a82
|
|
BLAKE2b-256 checksum How to use checksums |
35658f5e9e1eb993d78f930b59f1015afd03e88cd1201fc06a1252329061aad0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency logRelease files / rpycdec-0.1.14-py3-none-any.whl
| Download URL | rpycdec-0.1.14-py3-none-any.whl |
|---|---|
| Size | 52.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
20bc97fbb5191a36aee90a214ae7b53cbf3aedb2201e202437d44bca5f5775a9
|
|
BLAKE2b-256 checksum How to use checksums |
a68ab504fe9e543e32dda2006d81f0b8ca263ea84e06fb5023785a1ba40a604f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency log