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?