ipython/ipython — Issue #1085: In process kernel for Qt frontend
Author: fperez
Created: 2011-12-01 18:02:11+00:00
State: open
Labels: prio-high, qtconsole, type-enhancement

We really need to have an easy and clean way to embed a normal IPython kernel, minus the zmq communications part, in-process. The first obvious use case is using the Qt console with a kernel running in its own namespace. While this brings the obvious drawback that a kernel crash/segfault will take the whole app down, there are valid scenarios where this price is acceptable given the ability to directly interact in Qt with the objects in the kernel.

@rkern has a [first hackish implementation in Gist](https://gist.github.com/1416977) that can serve for now as a stop-gap and should be the point of reference for a clean, long-term solution to this problem.

Ultimately we want to abstract our kernel management api cleanly enough that it's a simple matter of changing one or two lines of code in a client to switch from in- to out-of-process kernel usage. At that point, we could trivially produce single and dual process versions of all our clients (console, qtconsole and html notebook) where the single-process ones would not have a zmq dependency. We're not quite there yet, but I'm creating this issue so we can track the problem and discuss it, until we have (one or more) actual PRs to work from.