IPython
Command shell for interactive computing in multiple languages
IPython provides a rich toolkit to help you make the most of using Python interactively. Comprehensive object introspection. IPython provides input history, persistent across sessions. Caching of output results during a session with automatically generated references. Extensible tab completion, with support by default for completion of python variables and keywords, filenames and function keywords.