Jupyter Ascending

Today is an exciting day! We have just finished releasing IPython 4.0, the last piece of the first release of Jupyter and IPython after The Big Split™.

The quick way to get Jupyter upgraded is:

pip install --upgrade jupyter  

If you are using conda or canopy, we hope to have packages on those distros soon.

This means that when you do

pip install --upgrade ipython[all]  

You will get jupyter instead.

Refresher on The Big Split™

IPython 3 was the last major monolithic release of IPython containing all of the language-agnostic code, such as the notebook, which is moving under the new name Jupyter. As part of that process, we have created several discrete packages for each component - nbformat for the notebook format, nbconvert for the notebook conversion machinery, notebook for the HTML notebook application, etc.

You can get each of these components independently, e.g. with

pip install --upgrade notebook  

which will not include the pieces that the notebook doesn't depend on (e.g. qtconsole). Or you can get the whole thing with the jupyter metapackage, which will pull in everything that was part of IPython 3 (with the exception of IPython parallel, now called ipyparallel).

Since all of these packages were part of IPython 3, they are all starting out at 4.0. They won't be updated in coordination with each other as their APIs and release schedules will be allowed to advance at their own respective paces.

There are import shims in the IPython repo for backward-compatibility, so any code that imports IPython.nbformat, for instance, should continue to work with a warning about the new home of the package:

In [1]: from IPython.nbformat import read  
/.../site-packages/IPython/nbformat.py:13: ShimWarning: The `IPython.nbformat` package has been deprecated. You should import from nbformat instead.

If you have any code that imported from the old subpackage that worked on 3.x but doesn't on 4.x, please let us know.

This split also means that

pip install ipython  

gets you a much smaller install, since it only includes the terminal IPython interface, which some people have been asking for for a long time.

Configuration

Many of the ipython subcommands are now jupyter subcommands, e.g.

ipython notebook  

is now

jupyter notebook  

The configuration files for these jupyter commands are now in your ~/.jupyter directory instead of ~/.ipython/profile_default. Jupyter should automatically migrate your notebook and qtconsole config to the new location if they exist.

See the Jupyter config docs for more info.

Docs

See the new Jupyter docs for more information about Jupyter, its components, and installation.

Issues

Please let us know on the mailing list if you have issues with the new install, or open an Issue on GitHub for the repo that is misbehaving. There's a lot of reorganization, and we thank you for your patience during this transition.

Thanks

Thanks to everyone who helped with the Big Split! Here's to a bright future for IPython and Jupyter.