IPython provides a rich toolkit to help you make the
most out of using Python interactively. Its main
- A powerful interactive Python shell
- A Jupyter kernel to work with Python code in
Jupyter notebooks and other interactive frontends.
The enhanced interactive Python shells have the
following main features:
- Comprehensive object introspection.
- Input history, persistent across sessions.
- Caching of output results during a session with automatically
- Extensible tab completion, with support by default for completion
of python variables and keywords, filenames and function keywords.
- Extensible system of ‘magic’ commands for controlling the
environment and performing many tasks related either to IPython or
the operating system.
- A rich configuration system with easy switching between different
setups (simpler than changing $PYTHONSTARTUP environment variables
- 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.