Comes from Tim Peter's reindent.py included with the Windows Python installation. (C:Python24ToolsScriptsreindent.py for me.)
Change Python code to use 4-space indents and no hard tab characters. Also trim excess spaces and tabs from ends of lines, and remove empty lines at the end of files. Also ensure the last line ends with a newline.
The hard part of reindenting is figuring out what to do with comment lines. So long as the input files get a clean bill of health from tabnanny.py, reindent should do a good job.