Jupyter 4.0 Completed By Release of IPython 4.0
Written by Alex Armstrong   
Monday, 17 August 2015

IPython 4.0 has been released, but instead of this being the big package including a notebook and protocol that works with many languages it is just the Python-specific parts. The language-agnostic part of the project are now to be found in Jupyter.

The fact that iPython's main features work with many languages was easy to overlook due it its name. The new identity for the project, Jupyter was announced at SciPi 2014 last July.



As we reported when IPython 3.0 was released as the "last monolithic release":

Jupyter is not an acronym of Julia, Python and R  - but is inspired by these three open languages. It has also been chosen to reflect the long history that astronomy has had in the IPython community and to pay homage to Galileo whose notebooks were the first open science papers - a tradition that Jupyter Project intends to follow.  

iPython now refers to the parts of the Jupyter that actually deal with Python. So the main components of iPython 4.0.0 are:

  • an interactive Python shell
  • a Jupyter kernel to work with Python code in Jupyter notebooks and other interactive frontends

Features of the Python shell include: 

  • Comprehensive object introspection
  • Input history, persistent across sessions
  • Caching of output results during a session with automatically generated references
  • Extensible tab completion, with support by default for completion of python variables and keywords, filenames and function keywords
  • Extensible system of ‘magic’ commands for controlling the environment and performing many tasks related either to IPython or the operating system
  • A rich configuration system with easy switching between different setups (simpler than changing $PYTHONSTARTUP environment variables every time)
  • Session logging and reloading
  • Extensible syntax processing for special purpose situations
  • Access to the system shell with user-extensible alias system
  • Easily embeddable in other Python programs and GUIs
  • Integrated access to the pdb debugger and the Python profiler

Discussing the split that separates the Python-specific components and those part of the project, such as the notebook-related tools and the REPL protocol, that work with a range of languages and shells, the Jupyter blog states: 

If anyone has been confused by what Jupyter is, it's the exact same code that lived in IPython, developed by the same people, just in a new home under a new name.

One difference between the previous approach and the new one is that components:

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. 


A comment on Hacker news to the IPython 4.0 announcements says:

I think that if people will let the name iPython go we will see an explosion of usage by other communities and see new features added to the project.

Given the degree of enthusiasm for the formerly IPython and now Juypter Notebook this seems to be a welcome prospect.

More Information


Jupyter on GitHub

IPython on GitHub

Related Articles

IPython 3.0 Released 

IPython Creator Wins Free Software Award

Tools Doth A Language Make


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



At What Age Do Programmers Write Languages?

This is just one of many question that can be answered by reference to PLDB, the programming language database devised and maintained by Breck Yunits, himself the author of Scroll, an o [ ... ]

Google Releases Home APIs

Google has announced a set of Home APIs and a Home runtime that can be used to access over 600M devices, Google's hubs and Matter infrastructure, along with an automation engine.

More News


raspberry pi books



or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 17 August 2015 )