---
name: "decompyle"
section: "1"
platform: "linux"
package: "decompyle"
version: "2.3.2-4.1"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/decompyle"
---

# decompyle(1)

a Python byte-code decompiler

## NAME

decompyle - a Python byte-code decompiler

## SYNOPSIS

**decompyle** \[ **--verify** \] \[ **--showasm** \] \[ **--showast** \] \[ **-o** *path* \] *file* ...

**decompyle --help**

## DESCRIPTION

**Decompyle** converts Python byte-code back into equivalent Python source. It accepts byte-code from any Python version between 1.5 and 2.3 inclusive. Note that it cannot yet decompile byte-code from Python 2.4.

The generated source is very readable: docstrings, lists, tuples and hashes get pretty-printed.

Decompyle can also verify the equivalence of the generated source by compiling it and comparing the new byte-code with the original byte-code.

Generated files have the following extensions:

- *.dis*

  A successfully decompyled file (and successfully verified if --verify was used).

- *.dis\_unverified*

  A successfully decompyled file for which --verify failed.

- *.nodis*

  A file for which the decompyle failed.  Please report this bug to the author or to the Debian bug tracking system.

## OPTIONS

A summary of options is included below.

- **-o** *path*

  Output decompyled files to the given path. If multiple input files are decompyled, the longest common prefix is stripped from their pathnames and the remainder appended to *path* (see the examples below for details).

- **--verify**

  Recompile generated sources and compare with the original input byte-code (requires **-o**).

- **--showasm**

  Include byte-code in the output (disables **--verify**).

- **--showast**

  Include the AST (abstract syntax tree) in the output (disables **--verify**).

- **--help**

  Print a usage message and exit.

## EXAMPLES

To decompyle *foo.pyc* and *bar.pyc* to standard output:

*example$* decompyle foo.pyc bar.pyc

To decompyle *foo.pyc* and *bar.pyc* to *./foo.dis* and *./bar.dis*:

*example$* decompyle -o . foo.pyc bar.pyc

To decompyle *bla/fasel.pyc* and *bla/foo.pyc* into */tmp* (creating */tmp/fasel.dis* and */tmp/foo.dis*):

*example$* decompyle -o /tmp bla/fasel.pyc bla/foo.pyc

To decompyle *bla/fasel.pyc* and *bar/foo.pyc* into */tmp* (creating */tmp/bla/fasel.dis* and */tmp/bar/foo.dis*):

*example$* decompyle -o /tmp bla/fasel.pyc bar/foo.pyc

## SEE ALSO

The original documentation from the program author is available in */usr/share/doc/decompyle/*.

## AUTHOR

Decompyle was written by Hartmut Goebel \<hartmut@goebel.noris.de\> and John Aycock, with Python 2.3 support added by Dan Pascu \<dan@windowmaker.org\>.\
 This manual page was prepared by Ben Burton \<bab@debian.org\> for the Debian GNU/Linux system (but may be used by others).
