on that accepts a character (string of length
  1), and returns true iff the character is junk. The default is
  the module-level function IS_CHARACTER_JUNK, which filters out
  whitespace characters (a blank or tab; note: it's a bad idea to
  include newline in this!).

Tools/scripts/ndiff.py is a command-line front-end to this function.

Example:

>>> diff = ndiff('one\ntwo\nthree\n'.splitlines(keepends=True),
...              'ore\ntree\nemu\n'.splitlines(keepends=True))
>>> print(''.join(diff), end="")
- one
?  ^
+ ore
?  ^
- two
- three
?  -
+ tree
+ emu
)