zrax/pycdc

C++ python bytecode disassembler and decompiler

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 15 minutes ago
Added to GitGenius on September 14th, 2026
Created on September 18th, 2011
Open Issues & Pull Requests: 233 (+0)
GitHub issues: Enabled
Number of forks: 878
Total Stargazers: 4,621 (+0)
Total Subscribers: 93 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 41.1 hours
Mean response time: 26.5 days
90th percentile: 92.5 days
Tracked items: 65

Most active contributors

Sign in to see contributor activity.

How this project is maintained

92% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 77% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 51
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 580 days
Stale 30+ days: 51
Stale 90+ days: 48

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Decompyle++ is a Python bytecode disassembler and decompiler written in C++.

The tool addresses the problem of reverse-engineering compiled Python bytecode back into readable source code. It works by parsing Python's compiled format and reconstructing the original logic, offering both a disassembler component (pycdas) that shows the raw bytecode instructions and a decompiler component (pycdc) that attempts to produce valid Python source. A distinguishing feature is its stated aim to support bytecode from any version of Python, rather than targeting only specific versions.

Developers should choose this tool when they need to recover or analyze Python source from compiled bytecode files, particularly when dealing with bytecode from multiple Python versions. It suits reverse-engineering tasks, security analysis, or recovering lost source code. The tool accepts both standard compiled Python files and marshalled code objects produced by Python's marshal module, with version specification available for the latter. The project positions itself against other decompilation efforts by emphasizing broad version compatibility.

The project maintains an active test suite that can be run with configurable parallelism and filtering. Build configuration offers optional debugging output for block and stack analysis, suggesting ongoing refinement of the decompilation logic. The codebase accepts external contributions and has incorporated patches from multiple contributors beyond the original authors.