Implement blocking channels without Python threads
Collapse Qt out of process channel class hierarchy
Merge Qt*ChannelMixin up into QtInProcess*Channel classes
Factor out code to set up ZMQ sockets
Remove some dead code
Use messaging methods on kernel client instead of channel objects
Use client.execute in execute preoprocessor
Move methods to send specific messages from channels to KernelClient
Move kernel_info for adaptation onto KernelClient
Move ZMQ socket creation out of channels
Remove now-unused code
Get rid of unused Qt signals for specific message types
Get rid of Qt Shell and Stdin channels
Get rid of QtIOPubChannel class
Collapse Qt in-process channel classes together
Collapse inprocess channel classes together
Share an IOLoop among Qt channels, rather than one each
Get rid of address property on channels
Fix attribute naming
Simplify HBChannel inheritance