IPython
Command shell for interactive computing in multiple languages
... related to IPython or the operating system. A rich configuration system with easy switching between different setups (simpler than changing $PYTHONSTARTUP environment variables every time). 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.