This documentation is for an old version of IPython. You can find docs for newer versions here.

Module: utils.PyColorize

Class and program to colorize python source code for ANSI terminals.

Based on an HTML code highlighter by Jurgen Hermann found at: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52298

Modifications by Fernando Perez (fperez@colorado.edu).

Information on the original HTML highlighter follows:

MoinMoin - Python Source Parser

Title: Colorize Python source using the built-in tokenizer

Submitter: Jurgen Hermann Last Updated:2001/04/06

Version no:1.2


This code is part of MoinMoin (http://moin.sourceforge.net/) and converts Python source code to HTML markup, rendering comments, keywords, operators, numeric and string literals in different colors.

It shows how to use the built-in keyword, token and tokenize modules to scan Python source code and re-emit it with no changes to its original formatting (which is the hard part).

1 Class

class IPython.utils.PyColorize.Parser(color_table=None, out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Bases: object

Format colored Python source.

__init__(color_table=None, out=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)

Create a parser with a specified color table and output channel.

Call format() to process code.

format2(raw, out=None, scheme='')

Parse and send the colored source.

If out and scheme are not specified, the defaults (given to constructor) are used.

out should be a file-type object. Optionally, out can be given as the string ‘str’ and the parser will automatically return the output in a string.

1 Function


Run as a command-line script: colorize a python file or stdin using ANSI color escapes and print to stdout.


  • argv(None): a list of strings like sys.argv[1:] giving the command-line arguments. If None, use sys.argv[1:].