IPython provides a rich toolkit to help you make the most out of using Python
interactively. Its main components are:
- A powerful interactive Python shell
- A
Jupyter <https://jupyter.org/>
_ 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 generated
references.
-
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 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.
The latest development version is always available from IPython's GitHub site <http://github.com/ipython>
_.