##
7.17.1 Completer Objects

Completer objects have the following method:

`complete`(text, state)
  Return the stateth completion for text.

  If called for text that doesn't include a period character ("`.`"), it will complete from names currently defined in `__main__`, `__builtin__` and keywords (as defined by the `keyword` module).

  If called for a dotted name, it will try to evaluate anything without obvious side-effects (i.e., functions will not be evaluated, but it can generate calls to `__getattr__()`) upto the last part, and find matches for the rest via the `dir()` function.