# rocky/python-uncompyle6

A cross-version Python bytecode decompiler

Repository: https://github.com/rocky/python-uncompyle6
Canonical: https://ross.abutalabs.com/products/python-uncompyle6
Language: Python
License: GPL-3.0
License Family: copyleft
Topics: decompiler, python, bytecode
Last push: 2026-04-24T15:24:48+00:00

## Health v2 (maintenance only)
Score: 62/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 79, release rhythm 18, longevity 100
- inputs: {"age_days": 3916, "days_push": 131, "days_rel": 338, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4316, forks 463 (observed 2026-08-28T04:08:41.849066+00:00)

## What it is
uncompyle6 is a cross-version Python bytecode decompiler that translates bytecode from Python 1.0 through 3.8 back into equivalent Python source code. It also supports fragment deparsing at bytecode offsets, which is used in debuggers and stack traces.

## Use cases
- decompile python bytecode back to source code
- recover lost python source from .pyc files
- deparse bytecode fragments for stack traces
- decompile old python 2 bytecode
- analyze python bytecode in a debugger
- audit compiled python code

## When to choose
- you need to decompile bytecode across many Python versions (1.0-3.8)
- you want fragment deparsing tied to bytecode offsets
- other decompiler forks fail on your bytecode version

## When to avoid
- you need to decompile Python 3.9+ bytecode (use decompyle3 or other tools)
- you need a perfect, guaranteed source reconstruction
- you only need bytecode disassembly rather than source

## Facets
- artifact type: library
- maturity: active
- function: reverse-engineering, parser, developer-tools
- domain: developer-tools, reverse-engineering, programming-languages, security
- platform: python, cli, cross-platform
- tags: decompiler, bytecode, python-bytecode, deparsing, debuggers

## Member repositories
- rocky/python-uncompyle6 (main) score 62

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:41.849066+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:21:45.998973+00:00, confidence not recorded.
  - readme: https://github.com/rocky/python-uncompyle6 (fetched 2026-08-28T04:08:41.849066+00:00, sha 8c2c95ef5517)
- Data as of 2026-08-30T08:39:29.467469+00:00.
