'Parameters
msg : str
The message to print
color : str, optional
An ANSI terminal color name.  Must be one of: black, red,
green, brown, blue, magenta, cyan, lightgrey, default,
darkgrey, lightred, lightgreen, yellow, lightblue,
lightmagenta, lightcyan, white.
file : writeable file-like object, optional
The file to write the spinner to.  Defaults to
`sys.stdout`.  If ``file`` is not a tty (as determined by
calling its `isatty` member, if any, or special case hacks
to detect the IPython console), the spinner will be
completely silent.
step : int, optional
Only update the spinner every *step* steps
chars : str, optional
The character sequence to use for the spinner'

def __init__(self, msg, color=u'default', file=None, step=1, chars=None):

    if (file is None):
        file = _get_stdout()
    self._msg = msg
    self._color = color
    self._file = file
    self._step = step
    if (chars is None):
        if conf.unicode_output:
            chars = self._default_unicode_chars
        else:
            chars = self._default_ascii_chars
    self._chars = chars
    self._silent = (not isatty(file))
