Errors with asyncio/io_loop in custom IPython kernel

In case anybody else comes here, I believe I’ve resolved my problems.

The issue (I think) stems from using the new kernel provisioning code in combination with KernelManager and KernelClient implementations that do not extend from the Async* base classes. In my case I had been using older ThreadedIO* base classes, which use Tornado’s ioloop under the hood. I don’t know the codebase well enough to know what trickery was happening here, but cleaning up my code to only use native coroutines basically anywhere I could find seems to have made the situation more tractable.

Thanks @kevin-bates btw for the great improvement in the kernel provisioning abstraction :slight_smile:

2 Likes