# 18.6 `tabnanny` -- Detection of ambiguous indentation

For the time being this module is intended to be called as a script. However it is possible to import it into an IDE and use the function `check()` described below.

Warning: The API provided by this module is likely to change in future releases; such changes may not be backward compatible.

`check`(file_or_dir)
  If file_or_dir is a directory and not a symbolic link, then recursively descend the directory tree named by file_or_dir, checking all .py files along the way. If file_or_dir is an ordinary Python source file, it is checked for whitespace related problems. The diagnostic messages are written to standard output using the print statement.

`verbose`
  Flag indicating whether to print verbose messages. This is set to true by the `-v` option if called as a script.

`filename_only`
  Flag indicating whether to print only the filenames of files containing whitespace related problems. This is set to true by the `-q` option if called as a script.

exception `NannyNag`
  Raised by `tokeneater()` if detecting an ambiguous indent. Captured and handled in `check()`.

`tokeneater`(type, token, start, end, line)
  This function is used by `check()` as a callback parameter to the function `tokenize.tokenize()`.

See Also:

Module `tokenize`:
  Lexical scanner for Python source code.