IPython
IPython
|
|
---|---|
IPython shell with matplotlib plot window |
|
Basic data
|
|
developer | Fernando Pérez |
Publishing year | 2001 |
Current version |
7.9.0 ( October 25, 2019 ) |
operating system | cross-platform |
programming language | Python , JavaScript , Cascading Style Sheets , C |
License | BSD license |
German speaking | Yes |
ipython.org |
IPython is a command line interpreter for working interactively with the Python programming language . It is not a mere extension of the shell built into Python (see interactive use of Python), but a software suite for developing and executing Python programs. Functions such as introspection , command line completion , rich media embedding and various front ends (terminal, Qt- based or browser-based ) make it possible to develop Python applications with a level of comfort familiar from software such as Matlab or Mathematica . IPython can also be viewed as an integrated development environment . In fact, IPython is a client-server framework that can be used for high-performance calculations by parallel computers.
origin
IPython was developed in 2001 by Fernando Pérez, it comes from the domain of scientific computing , since he knew a notebook from Matlab and he missed it in Python, he started to program one for Python.
The integration of Matplotlib into the notebook surface makes it an open source competitor for the widespread numerical software Matlab , which is why the combination of IPython with Matplotlib is often referred to as Pylab .
Architecture and notebook
A special feature of IPython is the installation of the message queue ØMQ (see Message Oriented Middleware ). The architecture of IPython clearly separates the backend as the processing unit , such as the Python interpreter, from the frontend as the display level . This separation allows IPython to be used largely universally for different backends (often also called kernels ) and frontends. With the help of the event-based Python web server Tornado and WebSockets , a web interface represents a possible front end. This allows IPython to be used flexibly in the modern web ( Web 2.0 ).
IPython is document oriented . An IPython document is referred to as a notebook , as is usual in the scientific field . A notebook is a JSON file that contains an ordered list of input and output cells that can represent code, plain text , LaTeX output, plots and various media formats. In this way, an IPython notebook differs fundamentally from a simple Python script, which (usually) only contains code.
Starting with version 4.0, the project was divided up and further modularized. From now on, IPython is no longer sold as a single, monolithic package, but is now limited to the core components bound to Python. All language-independent modules (such as the notebook, the Qtconsole and the message queue), on the other hand, have been outsourced to a new project called Jupyter and can thus be used and updated independently of IPython in the future.
Web links
- Official IPython website
- Jupyter's website
- Article from January 2014: IPython: A unified environment for interactive data analysis
Individual evidence
- ↑ Release 7.9.0 . October 25, 2019 (accessed October 26, 2019).
- ↑ The ipython Open Source Project on Open Hub: Languages Page . In: Open Hub . (accessed on July 19, 2018).
- ↑ ipython.org . (accessed on July 20, 2017).
- ↑ Fernando Perez: The IPython notebook: a historical retrospective. Accessed November 28, 2019 .
- ↑ IPython 4 release completes project modularization , report on heise.de from August 12, 2015; Retrieved August 20, 2015.