Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what's the relation between Ipython, jupyter and kernels?

like everytime I look for answers about python or R, I meet these connotations of Ipython, Ipython kernel, Ipython notebook, jupyter and jupyter kernel, and I actually understand each one's uses, but I'm really confiused in the relation between them.

like image 855
HISI Avatar asked Nov 29 '17 14:11

HISI


1 Answers

When the project began, it only supported the execution of Python code in their notebooks and the project was called IPython (and the notebooks IPython notebooks).

Each notebook works using an instance of a kernel, which is an execution environment that allows to run code in a specific language as well as providing access to some libraries inside the notebook.

As the project evolved and supported kernels for languages other than Python the project changed the name to Jupyter (thus the notebooks became Jupyter notebooks).

The developers explain it as follows in the IPython Website:

IPython is a growing project, with increasingly language-agnostic components. IPython 3.x was the last monolithic release of IPython, containing the notebook server, qtconsole, etc. As of IPython 4.0, the language-agnostic parts of the project: the notebook format, message protocol, qtconsole, notebook web application, etc. have moved to new projects under the name Jupyter. IPython itself is focused on interactive Python, part of which is providing a Python kernel for Jupyter.

So IPython still exists but it is focused on the Python kernel for Jupyter notebooks, which is also a requirement of Jupyter and it is included by default when installed.

Here is a list of kernels supported by Jupyter:

https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

References

https://ipython.org/

http://jupyter.org/

like image 59
Isma Avatar answered Oct 10 '22 06:10

Isma