Skip to main content

rpycdec

A tool for decompiling Ren'py compiled script files (.rpyc and .rpymc).

Features

  • Decompile .rpyc and .rpymc files 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/store packages 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

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)

Source distribution for rpycdec 0.1.14
File Size Uploaded
rpycdec-0.1.14.tar.gz 45.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rpycdec 0.1.14
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.14 This release

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page