make zmq-console and qtconsole monitor activity they did not initiate #1873

ivanov opened this Issue Jun 7, 2012 · 15 comments


None yet
10 participants

ivanov commented Jun 7, 2012

over at ivanov/vim-ipython#31, @pielgrzym pointed out that vim-ipython is able to monitor and display input and output for the kernel it is monitoring, regardless of what client initiated this activity, whereas activity initiated from vim-ipython is not reflected by these clients.

This is not unique to vim-ipython, however. Both the qtconsole and console frontends currently ignore the messages that they did not initiate. In other words, if you have two qtconsoles connected to the same kernel, executing code from one of them will not affect the other one in any way.

It would be nice for the qtconosle and console frontends to periodically check the relevant channels and make this activity visible. This would certainly be a good candidate for toggle-able behavior, since sometimes you really do want to ignore what other clients are doing.

@ivanov ivanov referenced this issue in ivanov/vim-ipython Jun 7, 2012


ipython console not updated #31


fperez commented Jun 7, 2012

Yup, in fact in the very first prototype that @ellisonbg and I wrote of a zmq-based interactive python client, we did echo the other messages, just to check that the pattern would work. We always thought we'd get to implementing such capabilities with a nicer UI in the 'real' ipython, but for whatever reason that has just not happened (well, the reason being we're totally swamped in a million other things, obviously).

But that had always been part of the plan, so now may be a good time to start thinking about how to do it right. Thanks for bringing it back up.

I second ivanov, in that this would be a really great feature. I have started using the vim-ipython integration as a replacement for MATLAB, and it would be much easier to use if the output of a command showed up upon execution

Thanks for all of your work; this is really great stuff.


fperez commented Jun 26, 2012

This is the kind of problem that would be perfect to tackle early on in the 0.14 release cycle, as it will require substantial UI discussion and thought. Things like that are best done early in the dev cycle so the chances for use in the field and feedback are maximized.

shelper commented Jul 27, 2012

well, is there any updates for this issue? some one told me the 0.14 ipython is still not working ....


fperez commented Jul 27, 2012

@shelper: this is an idea for an enhancement that will require substantial work, but there's nothing regarding this that's 'still not working', unless by that you mean that the suggested enhancement hasn't been implemented. Can you be more precise?

shelper commented Jul 27, 2012

well, here is my problem(i actually posted in an issue report for vim-ipython)
thanks for explaining, after reading your comments several times, i think i got some idea, so, here is the problem i encounter:
1 start ipython qtconsole
2. start gvim, open file (which only has lines: 'a= 1234; print a')
3 run :IPython in vim, window pop up giving runtime library loading error R6034,
4. run :IPython again in vim, no error shows up
5. press F5 in vim, the minibuffer shows:
In[1]: In[]: run -i 'Path\to\'
press enter or type command to continue
(in this step, the number '1' in the 'In[1]' matches the prompt in ipython, that means if you run several command in ipython qtconsole, and then run a script in vim by F5, the number will change to current ipython input prompt number)
6. switch to ipython qtconsole,found no output, but type a, it prints 1234, which means a is there with value from
7. further, if i change the value of 'a' in ipython qt console, its value in vim is also get updated.

i've searched around for a solution and found this might be the same problem here, where is the "suggested enhancement "?
sorry that i am quite new to vim and dont have experienced skills.. and many many thanks!


ivanov commented Oct 26, 2012

@shelper : the behavior you describe is the current limitation of ipython console and ipython qtconsole. Right now, both of these clients, as well as the notebook, do not listen for or react to activity which they did not initiate.

vim-ipython, however, listens in on all activity and reports all of it.

So until we, or someone else makes a working implementation for this feature request, in order to get output in a particular ipython client (notebook, qtconsole, or console), the execution has to be run from that client.

cgebbe commented Apr 15, 2013

First of all thank you very much Paul for this great plugin. I would just like to second the wish being discussed on this page, it would greatly enhance productivity.

are there any news on this feature? is it part of the roadmap within or beyond 1.0?


minrk commented Jul 30, 2013

No progress. It should really be a simple switch to flip for checking the session match. Just need UI for it.


ivanov commented Jul 30, 2013

this will not make it into 1.0, I'm going to mark it as milestone
2.0 and try to make progress here in the next six months.

@ivanov ivanov referenced this issue in ivanov/vim-ipython Aug 20, 2013


Update Behaviour of the IPython shell #70

just another +1 for this feature request from a vim-ipython user

pag commented Dec 14, 2013

What UI do you have in mind? Would a trivial patch making it an on/off option at the ConsoleWidget level be acceptable? Happy to submit one if so.

januz commented Jul 11, 2014

Has there been any progress?! I'd really love to see lines sent from vim in the shell...

@minrk minrk referenced this issue Jul 12, 2014


Support echoing output from other clients #6123

3 of 3 tasks complete

minrk commented Jul 12, 2014

See #6123

@takluyver takluyver closed this in #6123 Oct 20, 2014

@minrk minrk modified the milestones: wishlist, 3.0 Oct 21, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment