IPython Documentation

Table Of Contents

Previous topic


Next topic


This Page


Module: core.compilerop

Inheritance diagram for IPython.core.compilerop:

Compiler tools with improved interactive support.

Provides compilation machinery similar to codeop, but with caching support so we can provide interactive tracebacks.


  • Robert Kern
  • Fernando Perez
  • Thomas Kluyver


class IPython.core.compilerop.CachingCompiler

Bases: codeop.Compile

A compiler that caches code compiled from interactive statements.

ast_parse(source, filename='<unknown>', symbol='exec')

Parse code to an AST with the current compiler flags active.

Arguments are exactly the same as ast.parse (in the standard library), and are passed to the built-in compile function.

cache(code, number=0)

Make a name for a block of code, and cache the code.

Parameters :

code : str

The Python source code to cache.

number : int

A number which forms part of the code’s name. Used for the execution counter.

Returns :

The name of the cached code (as a string). Pass this as the filename :

argument to compilation, so that tracebacks are correctly hooked up. :


Call linecache.checkcache() safely protecting our cached values.


Flags currently active in the compilation process.


Reset compiler flags to default state.

IPython.core.compilerop.code_name(code, number=0)

Compute a (probably) unique name for code for caching.

This now expects code to be unicode.