Inspect cache entries and recover the Python code they contain, without running the game.
Upload a .rpyb file, then open inspection.rpyb.json in the result browser and choose Cache. Search entries, follow references to shared objects, and read per-entry recovery notes. Download the typed JSON export, original cache, extracted bytecode or recovered Python when available.
For a cache inside an archive, extract the archive first and select the RPYB member to inspect it. The same inspector handles direct uploads and nested files.
bytecode-39.rpyb, bytecode-312.rpyb and older bytecode.rpyb files can contain compiled Python, cached literals and warnings. Only code entries with supported version metadata are sent for Python recovery. A filename does not determine the Python version.
screens.rpyb stores screen-analysis data after a 16-byte digest. The digest is displayed as unverified because the corresponding game is not supplied. py3analysis.rpyb and older pyanalysis.rpyb store compiler and AST metadata. A successful inspection of these files may contain no recoverable code.
Class names, constructors and reducers remain inert descriptions. Bytes are preserved as Base64, large integers as decimal strings, and aliases and cycles as references. Unknown fields remain visible in the typed graph. Unknown schemas, damaged inputs and unsupported Python formats retain their original bytes with an explanation.
Inspection covers the qualified cache layouts from Ren'Py 7.4.11, 8.3.7 and 8.4.1, plus the reviewed CompileCache and version-2 analysis layout. Python 2.7, 3.9 and 3.12 code fixtures exercise recovery through the existing Python engine, including historical PyCode hash keys. Custom layouts and unqualified variants may be unsupported.
Processing is bounded to 16 MiB compressed and expanded input, 200,000 graph objects, 2,000 inventory entries and 100 Python recovery attempts. Larger or more complex inputs may produce a partial or limited result. The Cache tab opens large reports a page at a time, with search across the report and full JSON downloads.
RPYB caches do not reconstruct original dialogue, screen source or complete projects. For compiled story scripts use the RPYC decompiler; for game archives use the RPA extractor. Other tools include the Python decompiler, Ren'Py save inspector and persistent viewer.