'Handle pretty printing operations onto a stream using a set of
configured parameters.
indent
Number of spaces to indent for each level of nesting.
width
Attempted maximum number of columns in the output.
depth
The maximum depth to print out nested structures.
stream
The desired output stream.  If omitted (or false), the standard
output stream available at construction will be used.'

def __init__(self, indent=1, width=80, depth=None, stream=None):

    indent = int(indent)
    width = int(width)
    self._depth = depth
    self._indent_per_level = indent
    self._width = width
    if (stream is not None):
        self._stream = stream
    else:
        self._stream = _sys.stdout
    return
