what is the relation and difference between ipython and jupyter console

Question:

After the ipython notebook project renamed to jupyter, I always think that ipython notebook is the same as jupyter notebook and ipython shell is just an alias of jupyter console. Today I realize that ipython does not have connect_info magic defined and therefore is not able to be connected to from different backends.

I have the following component installed in my conda:

ipython                   6.1.0                    py36_0    defaults
jupyter                   1.0.0                    py36_4    defaults
jupyter_client            5.2.3                    py36_0    defaults
jupyter_console           5.2.0            py36he59e554_1    defaults
jupyter_contrib_core      0.3.3                    py36_1    conda-forge
jupyter_contrib_nbextensions 0.5.0                    py36_0    conda-forge
jupyter_core              4.4.0            py36h7c827e3_0    defaults

I have the following questions:

  1. What is the relation between the ipython of this version and jupyter console of this version?
  2. Does the ipython notebook (deprecated as in ipython 6.1.0) another share some components with jupyter libraries; or ipython notebook is still self-contained?
  3. Do ipython and jupyter have any dependencies?
Asked By: doraemon

||

Answers:

Architecture Guides — Jupyter Documentation has the authoritative info on how IPython and Jupyter are connected and related.

Specifically, as per Migrating from IPython Notebook — Jupyter Documentation:

The Big Split moved IPython’s various language-agnostic components under the Jupyter umbrella. Going forward, Jupyter will contain the language-agnostic projects that serve many languages. IPython will continue to focus on Python and its use with Jupyter.

Jupyter’s architecture includes frontends (web or console) and backends (kernels for various languages). IPython console is only about Python and terminal. "IPython Notebook", if it’s still a thing (it doesn’t work out of the box if I pip install ipython as of IPython 5.5.0), is probably a rudiment of the moved components for backward compatibility.

IPython is a dependency of Jupyter:

> pip show jupyter
<...>
Requires: ipywidgets, qtconsole, nbconvert, notebook, jupyter-console, ipykernel

> pip show ipython
<...>
Required-by: jupyter-console, ipywidgets, ipykernel
Answered By: ivan_pozdeev
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.