IPython
Command shell for interactive computing in multiple languages
...Session logging and reloading. Extensible syntax processing for special purpose situations. Access to the system shell with user-extensible alias system. Easily embeddable in other Python programs and GUIs. Integrated access to the pdb debugger and the Python profiler.