When we first introduced the Qt console, thinking about the kernel/frontend
separation mostly as a way to provide multiple frontends for the Python
kernel, we wrote some machinery to run a kernel 'in process', without the
ZMQ sockets.

Since then, the most popular frontends are Javascript-based, and we've
discovered the value of the protocol in supporting kernels for languages
other than Python. The in-process kernel machinery has become a
poorly-maintained, little-used corner of the code, eliciting a silent groan
whenever I see an issue asking about it. It's de-facto deprecated already,
and I'd like to make this official, so we can eventually get rid of that
code entirely.

There's one major use case I've seen for the IPK machinery: people writing
PyQt GUI applications who want to embed the Qt console and use it to
interactively manipulate objects in the same process. This is definitely a
valid and interesting thing to do, so what can we suggest as an alternative
to IPK?

A: Embed the kernel in the application and run the Qt console as a separate
window. I think we have examples of this around somewhere, though I forget
where.
B: Make the Qt application (with embedded console) manipulate the objects
of interest in a separate process, which also runs the kernel machinery.
This may have some other advantages to the application, but it's a lot of
work and clearly not suitable for every case.
C: Embed both console and kernel in the same application, but still using
ZMQ sockets so that they can use more of the standard communication
machinery. We have the machinery to integrate the kernel with the Qt event
loop, so this should be possible; is anyone aware of any examples of code
doing this?

Thanks,
Thomas

-- 
You received this message because you are subscribed to the Google Groups 
"Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jupyter/CAOvn4qjS2tvCfh9wAsBq7DFL1AJ9c7t7RFq8U06Wa51cXAmZVg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to