# Custom Python Interpreters

The modules described in this chapter allow writing interfaces similar to Python’s interactive interpreter. If you want a Python interpreter that supports some special feature in addition to the Python language, you should look at the `code` module. (The `codeop` module is lower-level, used to support compiling a possibly incomplete chunk of Python code.)

The full list of modules described in this chapter is:

- `code` — Interpreter base classes
  - `InteractiveInterpreter`
  - `InteractiveConsole`
  - `interact()`
  - `compile_command()`
  - Interactive Interpreter Objects
    - `runsource()`
    - `runcode()`
    - `showsyntaxerror()`
    - `showtraceback()`
    - `write()`
  - Interactive Console Objects
    - `interact()`
    - `push()`
    - `resetbuffer()`
    - `raw_input()`
- `codeop` — Compile Python code
  - `compile_command()`
  - `Compile`
  - `CommandCompiler`