IPython is an enhanced interactive Python shell designed to make exploratory programming more productive. It extends the standard Python interpreter with powerful introspection, command history, debugging facilities and commands for interacting with the operating system.
The shell is widely used by developers, researchers and data scientists who need to experiment with code, inspect objects and analyse results without repeatedly creating and running scripts. It works particularly well alongside Python’s scientific computing and data analysis libraries.
IPython also provides the interactive Python kernel used by Jupyter applications. However, Jupyter Notebook, JupyterLab and the Qt console are separate projects rather than components of the IPython shell itself.
This is free and open source software.
Key Features
- Advanced tab completion for variables, functions, attributes, filenames and keywords.
- Comprehensive object introspection, including documentation, function signatures and source code inspection.
- Persistent command history with searching and retrieval of previous input.
- Automatic caching of expression results for reuse during a session.
- Magic commands for execution timing, profiling, debugging and running scripts.
- Direct execution of system commands and configurable shell aliases.
- Syntax highlighting and detailed, colour-coded exception tracebacks.
- Multiline input, automatic indentation and configurable keyboard shortcuts.
- Session logging, command history export and execution of saved commands.
- Integration with the Python debugger and profiling tools.
- Configurable profiles, themes and startup environments.
- Embedding of an interactive shell within other Python applications.
- Integration with graphical event loops and scientific computing tools.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: ipython.org
Support:
Developer: The IPython Development Team
License: BSD 3-Clause ‘New’ or ‘Revised’ License

IPython is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Open Source Python Shells | |
|---|---|
| IPython | Enhanced interactive Python shell |
| ptpython | Advanced Python Read-Eval-Print Loop |
| bpython | Fancy interface to the Python interpreter for Linux, BSD, OS X and Windows |
| IDLE | Integrated development environment for Python |
| DreamPie | Python shell which is designed to be reliable and fun |
Read our verdict in the software roundup.
| Notebook software | |
|---|---|
| JupyterLab | The next generation user interface for Project Jupyter |
| RStudio | Integrated development environment (IDE) for R |
| Jupyter Notebook | Web-based notebook environment for interactive computing |
| Positron | Next-generation data science IDE |
| marimo | Reactive Python notebook |
| Apache Zeppelin | Multi-purpose notebook |
| IPython | Rich architecture for interactive computing |
| euporie | Terminal interface for Jupyter notebooks and kernels |
| Polynote | Experimental polyglot notebook environment |
| Livebook | Interactive and collaborative code notebooks |
| nteract | Notebooks on your Desktop |
| Pluto | Simple reactive notebooks for Juli |
| Cantor | Frontend for mathematical and scientific software |
| Pretzel | Billed as a modern replacement for Jupyter Notebooks |
| Spark Notebook | Interactive and reactive data science using Scala and Spark |
| BeakerX | Kernels and extensions to the Jupyter interactive computing environment |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.