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.
IMPORTANT: The Python 2 version of IPython is in long-term support
mode. It will not be receiving major new features. Starting with
IPython 6, only Python 3.3 and later is supported.