[IPython-dev] In-process kernel

Thomas Kluyver takowl at gmail.com
Tue May 22 14:23:24 EDT 2012


I was just thinking about something we've been discussing for a while,
but not (as far as I know) got round to implementing. We'd like to
implement an in-process kernel. This would be particularly valuable
for GUI applications which want to embed the Qt console and expose
objects within the application - at present, they're in the odd
situation that they can have either the kernel or the frontend
embedded in the application, but not both. Ideally this would be
structured so that these applications wouldn't have an unnecessary
dependency on zeromq, but that's not too important.

I think the critical design decision is whether we run kernel
functions synchronously - and block the application if some operation
is taking a long time - or have a kernel thread, and risk the dangers
of multi-threading (e.g. if the user tries to run commands that affect
the GUI directly, Qt will likely segfault). We might end up with both
to support different use cases, but which one do you think we should
put together first?

Thanks,
Thomas



More information about the IPython-dev mailing list