IPython

from Wikipedia, the free encyclopedia
IPython

IPython Logo.png
IPython-shell.png
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

The architecture of IPython

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

Individual evidence

  1. Release 7.9.0 . October 25, 2019 (accessed October 26, 2019).
  2. The ipython Open Source Project on Open Hub: Languages Page . In: Open Hub . (accessed on July 19, 2018).
  3. ipython.org . (accessed on July 20, 2017).
  4. Fernando Perez: The IPython notebook: a historical retrospective. Accessed November 28, 2019 .
  5. IPython 4 release completes project modularization , report on heise.de from August 12, 2015; Retrieved August 20, 2015.