pycdc
What it is
pycdc is the command-line decompiler in Decompyle++, a C++ project that translates compiled Python bytecode into readable Python source. The pycdc command reads a PYC file and prints Python source to standard output. Its companion, pycdas, disassembles a PYC file and prints bytecode to standard output. Both tools handle Python marshalled code objects; because those objects contain no version metadata, the Python version must be supplied when processing them. The project seeks support for bytecode from any Python version and is focused on bytecode rather than native-code decompilation. Decompyle++ runs on Linux, macOS and Windows. Building uses CMake to generate a project or makefile, followed by building the generated files. The README describes MSVC-based Windows builds and makefile build and test instructions for Unix-like systems or MSYS. The project is licensed under GPL version 3 and credits Michael Hansen and Darryl Pogue. The listed plan is free, and the repository has no packaged GitHub releases.
For and against
For
- Decompiles PYC files to Python source
- Includes a separate bytecode disassembler
- Supports marshalled Python code objects
- Runs on Linux, macOS and Windows
- Released under GPL version 3
Against
- Python version must be specified for marshalled objects
- No native-code decompilation
- No packaged GitHub releases are listed
- Requires building generated CMake files
The verdict
pycdc provides focused command-line tools for examining compiled Python bytecode. It is free under GPL-3.0, but setup involves building the C++ project.
Who it suits
It suits developers who need command-line Python bytecode decompilation or disassembly. Users should be comfortable building C++ software with CMake.
Plans and prices
Decompyle++
GPL-3.0 licensed source code · no packaged GitHub releases
Read 8 Oct 2026 · github.com
On the record
- Authors
- The README credits Michael Hansen and Darryl Pogue as the authors of Decompyle++.github.com · read 8 Oct 2026
- Build
- The project uses CMake to generate a project or makefile, which users then build.github.com · read 8 Oct 2026
- Decompiler
- The pycdc command decompiles a PYC file and prints Python source to standard output.github.com · read 8 Oct 2026
- Disassembler
- The pycdas command disassembles a PYC file and prints the bytecode to standard output.github.com · read 8 Oct 2026
- Distribution
- The GitHub releases page states that there are no releases for this repository.github.com · read 8 Oct 2026
- Implementation
- Decompyle++ is written in C++.github.com · read 8 Oct 2026
- Integrations
- The README names CMake as the build-system requirement and does not list product integrations.github.com · read 8 Oct 2026
- License
- The project is released under the GNU General Public License, version 3.github.com · read 8 Oct 2026
- Marshalled objects
- Both tools support Python marshalled code objects, and using them requires specifying the Python version because the objects contain no version metadata.github.com · read 8 Oct 2026
- Purpose
- Decompyle++ aims to translate compiled Python bytecode into valid, human-readable Python source code.github.com · read 8 Oct 2026
- Python versions
- The project says it seeks to support bytecode from any version of Python.github.com · read 8 Oct 2026
- Unix-like build
- The README gives makefile build and test instructions for *nix or MSYS.github.com · read 8 Oct 2026
- Windows build
- The README describes building generated project files with tools such as MSVC.github.com · read 8 Oct 2026