<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>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.<br><br></div>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:<br><br></div>- One base package with the traitlets, config and application machinery, to be used by other components.<br></div>- Two API packages: one for reading and writing the notebook file format, and one for controlling and communicating with kernels.<br></div>- Three frontend applications: the notebook, Qt console and two-process terminal console.<br></div>- The remaining 'ipython' package, which will include the IPython kernel and the single-process terminal REPL.<br><br></div>The attached photo shows this separation as we sketched it out on a whiteboard.<br><br></div>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.<br><br></div>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.<br><br></div>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.<br><br></div>Thanks,<br>Thomas<br></div>