[IPython-dev] Plans for splitting up IPython

Thomas Kluyver takowl at gmail.com
Mon Sep 8 12:43:11 EDT 2014


One of the big topics at our in-person development meeting last week was
how we're going to separate IPython into a number of smaller components,
and transition some of those to the new name Jupyter. We want to keep
people who weren't there in the loop about this plan.

IPython 3.0 will hopefully be released some time this Autumn, and the 3.x
releases will remain as one big 'ipython' package with optional
dependencies for components like the notebook and the Qt console. Some time
after the release of 3.0, we'll start separating pieces out into separate
repositories. By 4.0, we hope to have eight pieces to release separately:

- One base package with the traitlets, config and application machinery, to
be used by other components.
- Two API packages: one for reading and writing the notebook file format,
and one for controlling and communicating with kernels.
- Three frontend applications: the notebook, Qt console and two-process
terminal console.
- The remaining 'ipython' package, which will include the IPython kernel
and the single-process terminal REPL.

The attached photo shows this separation as we sketched it out on a
whiteboard.

Later on, we might further separate components, like splitting nbconvert
out of the notebook application package, but we think making these 8 pieces
will be quite enough for now.

The transition will involve a lot of extra work, but we're satisfied that
it will be worth it. Separating these components more cleanly should allow
the individual pieces to be developed more rapidly by more contributors.

This is also when we'll start using the name Jupyter. The Python specific
IPython package will keep its own name, while all the other packages (which
are neutral to the kernel language) will have Jupyter in their names.

Thanks,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20140908/3410c558/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipython_separation_whiteboard.jpg
Type: image/jpeg
Size: 107252 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20140908/3410c558/attachment.jpg>


More information about the IPython-dev mailing list