title: what is the relation and difference between ipython and jupyter console
body: <p>After the ipython notebook project renamed to jupyter, I always think that <code>ipython notebook</code> is the same as <code>jupyter notebook</code> and <code>ipython</code> shell is just an alias of <code>jupyter console</code>. Today I realize that <code>ipython</code> does not have <code>connect_info</code> magic defined and therefore is not able to be connected to from different backends. </p>
  
  <p>I have the following component installed in my conda:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>I have the following questions:</p>
  
  <ol>
  <li>What is the relation between the <code>ipython</code> of this version and <code>jupyter console</code> of this version? </li>
  <li>Does the <code>ipython notebook</code> (deprecated as in <code>ipython 6.1.0</code>) another share some components with <code>jupyter</code> libraries; or <code>ipython notebook</code> is still self-contained?</li>
  <li>Do <code>ipython</code> and <code>jupyter</code> have any dependencies? </li>
  </ol>