From fperez.net at gmail.com Sun Jul 1 16:20:30 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 1 Jul 2012 13:20:30 -0700 Subject: [IPython-dev] Fwd: [IPython-User] [ANN] Emacs IPython Notebook 0.1.beta In-Reply-To: References: Message-ID: BTW, I know we have some emacs folks on the -dev list who may not be on the user one, so I figured I'd pass this really neat new development along. Apologies to those who subscribe to both for the dupe. ---------- Forwarded message ---------- From: Takafumi Arakaki Date: Sun, Jul 1, 2012 at 12:41 PM Subject: [IPython-User] [ANN] Emacs IPython Notebook 0.1.beta To: ipython-user at scipy.org Hi, I would like to announce release of my IPython Notebook client in Emacs (EIN). ?IPython is really fantastic environment. ?If you are using Emacs (even if you are not using notebook), I think EIN will make it even better! Features: Emacs IPython Notebook (EIN) provides fully featured IPython Notebook client and integrated REPL. ?While EIN makes notebook editing very powerful by allowing you to use any Emacs features, it also expose IPython features such as code evaluation, object inspection and code completion to the Emacs side. ?These features can be accessed anywhere in Emacs and improve Python code editing and reading in Emacs. Links: * Online Documentation: ? http://tkf.github.com/emacs-ipython-notebook/ * Screenshots: ? https://github.com/tkf/emacs-ipython-notebook/wiki/Screenshots * Repository at GitHub: ? https://github.com/tkf/emacs-ipython-notebook Current version is 0.1.beta but there is no planned fix/change before 0.1. I will just bump it to 0.1 after websocket.el 1.0 is officially out. Thanks, Takafumi From jason-sage at creativetrax.com Mon Jul 2 09:12:08 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Mon, 02 Jul 2012 08:12:08 -0500 Subject: [IPython-dev] A top-level metadata attribute to all messages Message-ID: <4FF19E28.6090000@creativetrax.com> Min and I have been discussing on https://github.com/ipython/ipython/pull/2051 a way to have metadata attributes on all messages. Min has a great comment summarizing at least 3 ways this could be done [1]: 1. metadata in the header (possibly via subheader). I don't like this, because I don't think most library code should be using headers for anything. The content should be everything you need to know about the message itself, and the headers should only be used for low-level routing of handlers. But this is exactly what I did in the parallel code for message introspection without unpacking content. 2. metadata as a fourth top-level component of all messages. On some level, this is the cleanest, but most handlers really only need the 'content' of the message after the Application has used the headers to figure out what handlers to call. So this would mean we are always passing the whole Message around, or we are always passing two dicts (content and metadata) around. 3. metadata as an optional key in all content dicts. This has the benefit of extending what we already have, rather than changing it. But we don't actually use the metadata key from displaypub for anything, so there's not a high cost to change. Personally, the elegance of having a top-level metadata attribute, separate from the content attribute makes a lot of sense to me. As for use-cases, in the Sage cell server project, we'd use such metadata to determine where to display the results of a message, for example (i.e., put this pyout in div 34 on the html page). The patch on the pull request enables one to set session defaults for the subheader, as well as defaults for a 'metadata' attribute for stream messages. But I can change the patch to instead do a session default for a top-level metadata attribute easily. Thanks, Jason [1] https://github.com/ipython/ipython/pull/2051#issuecomment-6688471 From jason-sage at creativetrax.com Mon Jul 2 09:13:36 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Mon, 02 Jul 2012 08:13:36 -0500 Subject: [IPython-dev] A top-level metadata attribute to all messages In-Reply-To: <4FF19E28.6090000@creativetrax.com> References: <4FF19E28.6090000@creativetrax.com> Message-ID: <4FF19E80.5000303@creativetrax.com> On 7/2/12 8:12 AM, Jason Grout wrote: > Min and I have been discussing on > https://github.com/ipython/ipython/pull/2051 a way to have metadata > attributes on all messages. Sorry; sent too soon. The big question is: what do people think? I assume this sort of expansion of the message API deserves discussion before implementation. Thanks, Jason From zvoros at gmail.com Mon Jul 2 13:30:54 2012 From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=) Date: Mon, 02 Jul 2012 19:30:54 +0200 Subject: [IPython-dev] available modifier keys Message-ID: <4FF1DACE.7090607@gmail.com> Hi All, I know that since the notebook is supported on many platforms and on many browsers, the intersection of the many sets containing modifiers is somewhat limited, so I would like to ask, whether something like Alt+Enter would work on all systems. What I would like to suggest (I can also implement it, if I am given the go-ahead) is a shortcut for Shift+Enter + Control-m a. Many a time, I find myself going back to a piece of code in the middle of the notebook, and after entering a statement, I would like to get a new code cell at that particular place. Control+Enter takes me back to the cell, and Shift+Enter jumps to the next cell. I think, such an addition would be useful, but I don't know what the allowed modifiers are. Any comments or suggestions? Cheers, Zolt?n From carl.input at gmail.com Mon Jul 2 18:20:04 2012 From: carl.input at gmail.com (Carl Smith) Date: Mon, 2 Jul 2012 23:20:04 +0100 Subject: [IPython-dev] available modifier keys In-Reply-To: <4FF1DACE.7090607@gmail.com> References: <4FF1DACE.7090607@gmail.com> Message-ID: I'm not sure I follow you. Do you want to insert a new cell next to the one you just edited? You can already insert cells above or below. Ctrl+m, then h will bring up a list of shortcuts. On Jul 2, 2012 6:31 PM, "Zolt?n V?r?s" wrote: > Hi All, > > I know that since the notebook is supported on many platforms and on > many browsers, the intersection of the many sets containing modifiers is > somewhat limited, so I would like to ask, whether something like > Alt+Enter would work on all systems. What I would like to suggest (I can > also implement it, if I am given the go-ahead) is a shortcut for > Shift+Enter + Control-m a. Many a time, I find myself going back to a > piece of code in the middle of the notebook, and after entering a > statement, I would like to get a new code cell at that particular place. > Control+Enter takes me back to the cell, and Shift+Enter jumps to the > next cell. I think, such an addition would be useful, but I don't know > what the allowed modifiers are. > > Any comments or suggestions? > > Cheers, > Zolt?n > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From klonuo at gmail.com Mon Jul 2 20:57:20 2012 From: klonuo at gmail.com (klo uo) Date: Tue, 3 Jul 2012 02:57:20 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: <4FF1DACE.7090607@gmail.com> References: <4FF1DACE.7090607@gmail.com> Message-ID: Don't know what OS you run, but FYI Alt-Enter doesn't seem to do anything on Windows in both Firefox and Chrome. >From the user point of view, your suggestion for executing and appending new cell in one shortcut, looks interesting to me While here, I don't want to steal your topic, but as I opened it because you mentioned modifiers, I noticed strange behavior and I'm not sure if it's the way it should be: CUI clipboard commands, which are handy in Notebook environment, behave like this on my PC: - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) - Shift-Del (Cut) - deletes selection (can be easily mistaken that contents is cut to clipboard) - Shift-Ins (Paste) - doesn't paste but triggers Insert so it looks like some changes to Shift modifier has something to do with this unfortunate behavior. On Mon, Jul 2, 2012 at 7:30 PM, Zolt?n V?r?s wrote: > Hi All, > > I know that since the notebook is supported on many platforms and on > many browsers, the intersection of the many sets containing modifiers is > somewhat limited, so I would like to ask, whether something like > Alt+Enter would work on all systems. What I would like to suggest (I can > also implement it, if I am given the go-ahead) is a shortcut for > Shift+Enter + Control-m a. Many a time, I find myself going back to a > piece of code in the middle of the notebook, and after entering a > statement, I would like to get a new code cell at that particular place. > Control+Enter takes me back to the cell, and Shift+Enter jumps to the > next cell. I think, such an addition would be useful, but I don't know > what the allowed modifiers are. > > Any comments or suggestions? > > Cheers, > Zolt?n > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From zvoros at gmail.com Tue Jul 3 02:38:12 2012 From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=) Date: Tue, 03 Jul 2012 08:38:12 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: References: <4FF1DACE.7090607@gmail.com> Message-ID: <4FF29354.1090809@gmail.com> Hi Carl, On 07/03/2012 12:20 AM, Carl Smith wrote: > > I'm not sure I follow you. Do you want to insert a new cell next to > the one you just edited? You can already insert cells above or below. > Ctrl+m, then h will bring up a list of shortcuts. > Yes, I know that. I clearly stated that in the post. But I am saying that the situation that I described is probably a quite common case, so that it would deserve a shortcut. Cheers, Zolt?n > On Jul 2, 2012 6:31 PM, "Zolt?n V?r?s" > wrote: > > Hi All, > > I know that since the notebook is supported on many platforms and on > many browsers, the intersection of the many sets containing > modifiers is > somewhat limited, so I would like to ask, whether something like > Alt+Enter would work on all systems. What I would like to suggest > (I can > also implement it, if I am given the go-ahead) is a shortcut for > Shift+Enter + Control-m a. Many a time, I find myself going back to a > piece of code in the middle of the notebook, and after entering a > statement, I would like to get a new code cell at that particular > place. > Control+Enter takes me back to the cell, and Shift+Enter jumps to the > next cell. I think, such an addition would be useful, but I don't know > what the allowed modifiers are. > > Any comments or suggestions? > > Cheers, > Zolt?n > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: From zvoros at gmail.com Tue Jul 3 02:43:30 2012 From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=) Date: Tue, 03 Jul 2012 08:43:30 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: References: <4FF1DACE.7090607@gmail.com> Message-ID: <4FF29492.1@gmail.com> Hi, On 07/03/2012 02:57 AM, klo uo wrote: > Don't know what OS you run, but FYI Alt-Enter doesn't seem to do > anything on Windows in both Firefox and Chrome. > > From the user point of view, your suggestion for executing and > appending new cell in one shortcut, looks interesting to me But what baffles me is that in ipython, the Alt key is completely missing as a modifier, and thus, I suspect that it doesn't work somewhere. There might be issues on Macs, perhaps? Could someone comment on how the shortcuts were ironed out, and what is left for future use? Cheers, Zolt?n > While here, I don't want to steal your topic, but as I opened it > because you mentioned modifiers, I noticed strange behavior and I'm > not sure if it's the way it should be: CUI clipboard commands, which > are handy in Notebook environment, behave like this on my PC: > > - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) > - Shift-Del (Cut) - deletes selection (can be easily mistaken that > contents is cut to clipboard) > - Shift-Ins (Paste) - doesn't paste but triggers Insert > > so it looks like some changes to Shift modifier has something to do > with this unfortunate behavior. From bussonniermatthias at gmail.com Tue Jul 3 03:23:11 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Tue, 3 Jul 2012 09:23:11 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: <4FF29492.1@gmail.com> References: <4FF1DACE.7090607@gmail.com> <4FF29492.1@gmail.com> Message-ID: Le 3 juil. 2012 ? 08:43, Zolt?n V?r?s a ?crit : > Hi, > > On 07/03/2012 02:57 AM, klo uo wrote: >> Don't know what OS you run, but FYI Alt-Enter doesn't seem to do >> anything on Windows in both Firefox and Chrome. >>> From the user point of view, your suggestion for executing and >> appending new cell in one shortcut, looks interesting to me > But what baffles me is that in ipython, the Alt key is completely > missing as a modifier, and thus, I suspect that it doesn't work > somewhere. There might be issues on Macs, perhaps? > Could someone comment on how the shortcuts were ironed out, and what is > left for future use? You have a beginning of answer here : http://mail.scipy.org/pipermail/ipython-user/2011-December/008925.html But basically we would be happy to find a common prefix that works for all platform (combinaison of os/browser/local/keyboard layout) which is quite hard. Alt might do the trick in some locals, but it is used for many accentuated letters, I for example use an English Internationnal keyboard to write my notebooks in french, and use alt pretty often, that would highly complicate the logics. I don't say that it is not possible neither a bad choice. Just that you get often edges case that are a pain to deal with. We would be happy to have a nice map of what can be use in which case, and having configurable keybindigs is one of our goal for both notebook and qtconsole. On can dream of os/browser detection that serve different JS for some case, but we would need much more manpower/tester I'll should also note that Code Mirror is supposed to also handle a vim mode. We'll be happy to see a PR to help with any of this. -- Matthias From zvoros at gmail.com Tue Jul 3 03:41:52 2012 From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=) Date: Tue, 03 Jul 2012 09:41:52 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: References: <4FF1DACE.7090607@gmail.com> <4FF29492.1@gmail.com> Message-ID: <4FF2A240.7020503@gmail.com> Dear Matthias, On 07/03/2012 09:23 AM, Matthias BUSSONNIER wrote: > Le 3 juil. 2012 ? 08:43, Zolt?n V?r?s a ?crit : > >> Hi, >> >> On 07/03/2012 02:57 AM, klo uo wrote: >>> Don't know what OS you run, but FYI Alt-Enter doesn't seem to do >>> anything on Windows in both Firefox and Chrome. >>>> From the user point of view, your suggestion for executing and >>> appending new cell in one shortcut, looks interesting to me >> But what baffles me is that in ipython, the Alt key is completely >> missing as a modifier, and thus, I suspect that it doesn't work >> somewhere. There might be issues on Macs, perhaps? >> Could someone comment on how the shortcuts were ironed out, and what is >> left for future use? > You have a beginning of answer here : > http://mail.scipy.org/pipermail/ipython-user/2011-December/008925.html Thanks for the pointer! I have already seen that thread, for I started it:) But that actually doesn't answer the question, as you pointed out later. > But basically we would be happy to find a common prefix that works for all platform (combinaison of os/browser/local/keyboard layout) which is quite hard. > Alt might do the trick in some locals, but it is used for many accentuated letters, I for example use an English Internationnal keyboard to > write my notebooks in french, and use alt pretty often, that would highly complicate the logics. I don't say that it is not possible neither a bad choice. > Just that you get often edges case that are a pain to deal with. But I think, Alt+Enter for the specific functionality that I described, should not be a problem. After all, no characters are tied to Alt+Enter. Perhaps, I should make myself clear: I am not advocating the idea that the present set of shortcuts should be changed, I am just trying to see, how a new shortcut could be accommodated. I would also like to point out that this discussion also pertains to another one, http://mail.scipy.org/pipermail/ipython-user/2012-June/010517.html, although, in that case, it is somewhat clearer what the combination could be, it is just not clear, how it should be implemented. So, should I just try to add Alt+Enter as a new keybinding for executing a cell, and inserting a new cell code in place? Cheers, Zolt?n From carl.input at gmail.com Tue Jul 3 09:06:22 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 3 Jul 2012 14:06:22 +0100 Subject: [IPython-dev] available modifier keys In-Reply-To: <4FF29354.1090809@gmail.com> References: <4FF1DACE.7090607@gmail.com> <4FF29354.1090809@gmail.com> Message-ID: I didn't understand. You want to execute the cell and insert a new cell and jump to it in one move? That seems handy to have. On Jul 3, 2012 7:38 AM, "Zolt?n V?r?s" wrote: > Hi Carl, > > On 07/03/2012 12:20 AM, Carl Smith wrote: > > I'm not sure I follow you. Do you want to insert a new cell next to the > one you just edited? You can already insert cells above or below. Ctrl+m, > then h will bring up a list of shortcuts. > > Yes, I know that. I clearly stated that in the post. But I am saying that > the situation that I described is probably a quite common case, so that it > would deserve a shortcut. > Cheers, > Zolt?n > > On Jul 2, 2012 6:31 PM, "Zolt?n V?r?s" wrote: > >> Hi All, >> >> I know that since the notebook is supported on many platforms and on >> many browsers, the intersection of the many sets containing modifiers is >> somewhat limited, so I would like to ask, whether something like >> Alt+Enter would work on all systems. What I would like to suggest (I can >> also implement it, if I am given the go-ahead) is a shortcut for >> Shift+Enter + Control-m a. Many a time, I find myself going back to a >> piece of code in the middle of the notebook, and after entering a >> statement, I would like to get a new code cell at that particular place. >> Control+Enter takes me back to the cell, and Shift+Enter jumps to the >> next cell. I think, such an addition would be useful, but I don't know >> what the allowed modifiers are. >> >> Any comments or suggestions? >> >> Cheers, >> Zolt?n >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> http://mail.scipy.org/mailman/listinfo/ipython-dev >> > > > _______________________________________________ > IPython-dev mailing listIPython-dev at scipy.orghttp://mail.scipy.org/mailman/listinfo/ipython-dev > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zvoros at gmail.com Tue Jul 3 11:59:29 2012 From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=) Date: Tue, 03 Jul 2012 17:59:29 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: References: <4FF1DACE.7090607@gmail.com> <4FF29354.1090809@gmail.com> Message-ID: <4FF316E1.6040806@gmail.com> Hi Carl, On 07/03/2012 03:06 PM, Carl Smith wrote: > > I didn't understand. You want to execute the cell and insert a new > cell and jump to it in one move? That seems handy to have. > Right, exactly. I will try to have a go at the code tonight. Cheers, Zolt?n From bussonniermatthias at gmail.com Tue Jul 3 13:13:01 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Tue, 3 Jul 2012 19:13:01 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: <4FF316E1.6040806@gmail.com> References: <4FF1DACE.7090607@gmail.com> <4FF29354.1090809@gmail.com> <4FF316E1.6040806@gmail.com> Message-ID: <6F99A0C7-88CE-4198-B47A-CC4D0469E646@gmail.com> Le 3 juil. 2012 ? 17:59, Zolt?n V?r?s a ?crit : > Hi Carl, > > On 07/03/2012 03:06 PM, Carl Smith wrote: >> >> I didn't understand. You want to execute the cell and insert a new >> cell and jump to it in one move? That seems handy to have. >> > Right, exactly. I will try to have a go at the code tonight. Have fun :-) Waiting for the PR ! -- Matthias From zvoros at gmail.com Tue Jul 3 15:06:57 2012 From: zvoros at gmail.com (=?ISO-8859-1?Q?Zolt=E1n_V=F6r=F6s?=) Date: Tue, 03 Jul 2012 21:06:57 +0200 Subject: [IPython-dev] available modifier keys In-Reply-To: <6F99A0C7-88CE-4198-B47A-CC4D0469E646@gmail.com> References: <4FF1DACE.7090607@gmail.com> <4FF29354.1090809@gmail.com> <4FF316E1.6040806@gmail.com> <6F99A0C7-88CE-4198-B47A-CC4D0469E646@gmail.com> Message-ID: <4FF342D1.7030705@gmail.com> Hi Matthias, I have issued a PR. This is my first PR, I hope it will be OK. Cheers, Zolt?n On 07/03/2012 07:13 PM, Matthias BUSSONNIER wrote: > Le 3 juil. 2012 ? 17:59, Zolt?n V?r?s a ?crit : > >> Hi Carl, >> >> On 07/03/2012 03:06 PM, Carl Smith wrote: >>> I didn't understand. You want to execute the cell and insert a new >>> cell and jump to it in one move? That seems handy to have. >>> >> Right, exactly. I will try to have a go at the code tonight. > Have fun :-) > Waiting for the PR ! From takowl at gmail.com Tue Jul 3 16:59:44 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 3 Jul 2012 21:59:44 +0100 Subject: [IPython-dev] Congratulations & unread emails Message-ID: Kudos to everyone for getting 0.13 out - it looks like it's going to be a really good release. I'm sorry that I went out of contact just before release date. I've come back to a load of notifications from Github - I've picked out a few to look at, but skipped over most of them. So if you've asked me to have a look at something in the last few days, please ping me again so I don't miss it. Finally, a heads up that I'll be going away again at the end of this week (for a holiday), so it will again be a few days before I can look into things. Thanks all, Thomas From joonpyro at gmail.com Wed Jul 4 09:12:31 2012 From: joonpyro at gmail.com (Joon Ro) Date: Wed, 04 Jul 2012 08:12:31 -0500 Subject: [IPython-dev] future division in embedded ipython Message-ID: Hi, I'm using ipython 0.13. I just found that even though my main script has from __future__ import division, the embedded ipython session I still get 1/2 = 0 It has caused me some confusion and I was wondering if this is a bug. Regards, Joon From takowl at gmail.com Wed Jul 4 10:39:25 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 4 Jul 2012 15:39:25 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: Message-ID: On 4 July 2012 14:12, Joon Ro wrote: > I'm using ipython 0.13. I just found that even though my main script has > from __future__ import division, the embedded ipython session I still get > 1/2 = 0 > It has caused me some confusion and I was wondering if this is a bug. The effect of future statements isn't currently carried across - they don't work the same way as variables. It's not exactly a bug, but maybe it's something we want to change. See also discussion here on future statements in startup files: https://github.com/ipython/ipython/pull/950#issuecomment-4993045 Thomas From carl.input at gmail.com Wed Jul 4 12:59:38 2012 From: carl.input at gmail.com (Carl Smith) Date: Wed, 4 Jul 2012 17:59:38 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: Message-ID: I had trouble with this a while back and assumed it was a bug in IPython, but forgot about it. It'd be nice to have some way of making this work as you presume it will. Even if it's caused by a misunderstanding of Python by the user, it's still just buggy from a UX perspective. On Jul 4, 2012 3:39 PM, "Thomas Kluyver" wrote: > On 4 July 2012 14:12, Joon Ro wrote: > > I'm using ipython 0.13. I just found that even though my main script has > > from __future__ import division, the embedded ipython session I still > get > > 1/2 = 0 > > It has caused me some confusion and I was wondering if this is a bug. > > The effect of future statements isn't currently carried across - they > don't work the same way as variables. It's not exactly a bug, but > maybe it's something we want to change. > > See also discussion here on future statements in startup files: > https://github.com/ipython/ipython/pull/950#issuecomment-4993045 > > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Wed Jul 4 13:19:00 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 4 Jul 2012 18:19:00 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: Message-ID: On 4 July 2012 17:59, Carl Smith wrote: > It'd be nice to have some way of making this work as you presume it will. > Even if it's caused by a misunderstanding of Python by the user, it's still > just buggy from a UX perspective. I wouldn't say it's a misunderstanding, it's just not clear what behaviour is correct. future statements don't normally affect code beyond the module where they're imported. The closest concept to IPython's embedding in standard Python is to launch a debugger - and future statements in the module don't hold in the debugger (I've just checked). If we do agree that propagating future flags to embedded IPython is what we want, I think it should be possible using sys._getframe(). What's more complex is how it should interact with future statements you enter yourself in the interpreter. It can't change the future flags for the module, because that's already been parsed. But if you embed multiple times, should your changes to __future__ in the first embedding be kept for the second? Thanks, Thomas From carl.input at gmail.com Wed Jul 4 13:26:38 2012 From: carl.input at gmail.com (Carl Smith) Date: Wed, 4 Jul 2012 18:26:38 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: Message-ID: Maybe a configurable or something, so the user can set the way it works, and just document it?? I'm not really sure. On Jul 4, 2012 6:19 PM, "Thomas Kluyver" wrote: > On 4 July 2012 17:59, Carl Smith wrote: > > It'd be nice to have some way of making this work as you presume it will. > > Even if it's caused by a misunderstanding of Python by the user, it's > still > > just buggy from a UX perspective. > > I wouldn't say it's a misunderstanding, it's just not clear what > behaviour is correct. future statements don't normally affect code > beyond the module where they're imported. The closest concept to > IPython's embedding in standard Python is to launch a debugger - and > future statements in the module don't hold in the debugger (I've just > checked). > > If we do agree that propagating future flags to embedded IPython is > what we want, I think it should be possible using sys._getframe(). > > What's more complex is how it should interact with future statements > you enter yourself in the interpreter. It can't change the future > flags for the module, because that's already been parsed. But if you > embed multiple times, should your changes to __future__ in the first > embedding be kept for the second? > > Thanks, > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Wed Jul 4 13:37:44 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 4 Jul 2012 18:37:44 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: Message-ID: On 4 July 2012 18:26, Carl Smith wrote: > Maybe a configurable or something, so the user can set the way it works, and > just document it?? I'm not really sure. We try not to add more configuration unless it looks like there's a real need to have both options: - If it's configurable, there's an extra maintenance burden of making sure each option continues working in different scenarios. - Most users will never go looking for an obscure config option, so it doesn't relieve us from the burden of picking out a sensible default. In this case, I'm leaning towards the view that embedded IPython *should* inherit the future flags, without any config option. But it warrants some discussion. Thomas From asmeurer at gmail.com Wed Jul 4 13:51:18 2012 From: asmeurer at gmail.com (Aaron Meurer) Date: Wed, 4 Jul 2012 11:51:18 -0600 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: Message-ID: <-5179884981398870314@unknownmsgid> One thing that's worth pointing out: there's no way to "un-import" future flags (unless I missed it). So once you have future division, you're stuck with it. Aaron Meurer On Jul 4, 2012, at 11:38 AM, Thomas Kluyver wrote: > On 4 July 2012 18:26, Carl Smith wrote: >> Maybe a configurable or something, so the user can set the way it works, and >> just document it?? I'm not really sure. > > We try not to add more configuration unless it looks like there's a > real need to have both options: > - If it's configurable, there's an extra maintenance burden of making > sure each option continues working in different scenarios. > - Most users will never go looking for an obscure config option, so it > doesn't relieve us from the burden of picking out a sensible default. > > In this case, I'm leaning towards the view that embedded IPython > *should* inherit the future flags, without any config option. But it > warrants some discussion. > > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From takowl at gmail.com Wed Jul 4 13:58:01 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 4 Jul 2012 18:58:01 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: <-5179884981398870314@unknownmsgid> References: <-5179884981398870314@unknownmsgid> Message-ID: On 4 July 2012 18:51, Aaron Meurer wrote: > One thing that's worth pointing out: there's no way to "un-import" > future flags (unless I missed it). So once you have future division, > you're stuck with it. Within IPython, if you know which obscure button to press, you can actually de-activate future flags. But it's not something we'd ever encourage users to do. Thomas From carl.input at gmail.com Wed Jul 4 14:04:39 2012 From: carl.input at gmail.com (Carl Smith) Date: Wed, 4 Jul 2012 19:04:39 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: Message-ID: Fair enough. I don't really understand the finer points. I was responding at first just to offer user feedback on the issue. On Jul 4, 2012 6:38 PM, "Thomas Kluyver" wrote: > On 4 July 2012 18:26, Carl Smith wrote: > > Maybe a configurable or something, so the user can set the way it works, > and > > just document it?? I'm not really sure. > > We try not to add more configuration unless it looks like there's a > real need to have both options: > - If it's configurable, there's an extra maintenance burden of making > sure each option continues working in different scenarios. > - Most users will never go looking for an obscure config option, so it > doesn't relieve us from the burden of picking out a sensible default. > > In this case, I'm leaning towards the view that embedded IPython > *should* inherit the future flags, without any config option. But it > warrants some discussion. > > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brad.froehle at gmail.com Wed Jul 4 14:56:27 2012 From: brad.froehle at gmail.com (Bradley M. Froehle) Date: Wed, 4 Jul 2012 11:56:27 -0700 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: <-5179884981398870314@unknownmsgid> References: <-5179884981398870314@unknownmsgid> Message-ID: There is a somewhat hidden way to reset the the compiler flags, but definitely not for everyday use: In [7]: from __future__ import division In [8]: 1/2 Out[8]: 0.5 In [9]: get_ipython().compile.reset_compiler_flags() In [10]: 1/2 Out[10]: 0 On Wednesday, July 4, 2012 at 10:51 AM, Aaron Meurer wrote: > One thing that's worth pointing out: there's no way to "un-import" > future flags (unless I missed it). So once you have future division, > you're stuck with it. > > Aaron Meurer > > On Jul 4, 2012, at 11:38 AM, Thomas Kluyver wrote: > > > On 4 July 2012 18:26, Carl Smith wrote: > > > Maybe a configurable or something, so the user can set the way it works, and > > > just document it?? I'm not really sure. > > > > > > > > > We try not to add more configuration unless it looks like there's a > > real need to have both options: > > - If it's configurable, there's an extra maintenance burden of making > > sure each option continues working in different scenarios. > > - Most users will never go looking for an obscure config option, so it > > doesn't relieve us from the burden of picking out a sensible default. > > > > In this case, I'm leaning towards the view that embedded IPython > > *should* inherit the future flags, without any config option. But it > > warrants some discussion. > > > > Thomas > > _______________________________________________ > > IPython-dev mailing list > > IPython-dev at scipy.org (mailto:IPython-dev at scipy.org) > > http://mail.scipy.org/mailman/listinfo/ipython-dev > > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org (mailto:IPython-dev at scipy.org) > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From joonpyro at gmail.com Wed Jul 4 16:14:02 2012 From: joonpyro at gmail.com (Joon Ro) Date: Wed, 04 Jul 2012 15:14:02 -0500 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: <-5179884981398870314@unknownmsgid> References: <-5179884981398870314@unknownmsgid> Message-ID: On Wed, 04 Jul 2012 12:51:18 -0500, Aaron Meurer wrote: > One thing that's worth pointing out: there's no way to "un-import" > future flags (unless I missed it). So once you have future division, > you're stuck with it. > from __future__ import division is the first line of my every python script so I don't think I will have any problems with it, but I guess it can be a problem for other cases that I don't know about. Anyway, in my opinion, "inheriting" division is logical behavior. It actually was especially confusing for me because I have the import future statement in my ipython config file so whenever I run ipython, future division is automatically imported. So I assumed the embedded ipython would be the same. Joon From takowl at gmail.com Wed Jul 4 16:28:05 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 4 Jul 2012 21:28:05 +0100 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: <-5179884981398870314@unknownmsgid> Message-ID: On 4 July 2012 21:14, Joon Ro wrote: > Anyway, in my opinion, "inheriting" division is logical behavior. It > actually was especially confusing for me because I have the import future > statement in my ipython config file so whenever I run ipython, future > division is automatically imported. So I assumed the embedded ipython > would be the same. I think the embedded IPython ignores your config - which is an even more complex argument. Let's not go there today. I think I agree that embedded IPython should inherit future flags from the module it's called in. I'm not going to have time to work on it for a bit, though. If anyone else wants to pick it up, I think new code will be needed in this method: https://github.com/ipython/ipython/blob/master/IPython/frontend/terminal/embed.py#L164 Otherwise, Joon, please file an issue so we don't forget about it. Thanks, Thomas From fperez.net at gmail.com Wed Jul 4 16:58:41 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Wed, 4 Jul 2012 13:58:41 -0700 Subject: [IPython-dev] Congratulations & unread emails In-Reply-To: References: Message-ID: On Tue, Jul 3, 2012 at 1:59 PM, Thomas Kluyver wrote: > Kudos to everyone for getting 0.13 out - it looks like it's going to > be a really good release. I'm sorry that I went out of contact just > before release date. Yes, I think we can all be happy about it. > I've come back to a load of notifications from Github - I've picked > out a few to look at, but skipped over most of them. So if you've > asked me to have a look at something in the last few days, please ping > me again so I don't miss it. Thanks for pitching in, every bit helps! > Finally, a heads up that I'll be going away again at the end of this > week (for a holiday), so it will again be a few days before I can look > into things. In the same spirit, pushing for the release put me behind on several work fronts, so I'm in also in low-bandwidth ipython-dev/github mode for a couple of weeks. Coupled with Thomas' trip, Min being on vacation and Brian having some logistics work of his own, I'm afraid there will be some silence from several of us. Please don't interpret that as lack of interest in the discussions, it's simply a reality of limited resources. We do care very much about the many interesting points being brought up here (and about keeping github's queues moving along), it's just that we can't quite keep up. Best, f From fperez.net at gmail.com Wed Jul 4 17:04:16 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Wed, 4 Jul 2012 14:04:16 -0700 Subject: [IPython-dev] Counting downloads Message-ID: Mostly for reference, in case we want to keep track of downloads (at least the ones with publicly readable counters), in addition to our two official locations: https://github.com/ipython/ipython/downloads http://pypi.python.org/pypi/ipython I also noticed that this offers downloads with a counter: http://linux.softpedia.com/get/Programming/Interpreters/IPython-37631.shtml They seem to just re-offer the pypi files (tar.gz and egg), but it's still a separate counter whose numbers at least right now are order-of-magnitude comparable with pypi. Cheers, f From takowl at gmail.com Wed Jul 4 17:22:22 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 4 Jul 2012 22:22:22 +0100 Subject: [IPython-dev] Counting downloads In-Reply-To: References: Message-ID: On 4 July 2012 22:04, Fernando Perez wrote: > http://pypi.python.org/pypi/ipython As an aside, on PyPI alone, 0.13 is over 4000 downloads in just a few days. :-) And I guess many of our users get it from Linux distros or Python distros. The Ubuntu popularity contest says ipython is installed on 48317 machines, out of a total of some 2M reporting. 1807 of those used it in the last 30 days: http://popcon.ubuntu.com/universe/python/by_inst Thomas From brad.froehle at gmail.com Wed Jul 4 18:05:04 2012 From: brad.froehle at gmail.com (Bradley M. Froehle) Date: Wed, 4 Jul 2012 15:05:04 -0700 Subject: [IPython-dev] future division in embedded ipython In-Reply-To: References: <-5179884981398870314@unknownmsgid> Message-ID: <2E8A09D7993844A98D28BE00981A8A62@gmail.com> I think I worked out a relatively simple solution: https://github.com/ipython/ipython/pull/2096 On Wednesday, July 4, 2012 at 1:28 PM, Thomas Kluyver wrote: > On 4 July 2012 21:14, Joon Ro wrote: > > Anyway, in my opinion, "inheriting" division is logical behavior. It > > actually was especially confusing for me because I have the import future > > statement in my ipython config file so whenever I run ipython, future > > division is automatically imported. So I assumed the embedded ipython > > would be the same. > > > > > I think the embedded IPython ignores your config - which is an even > more complex argument. Let's not go there today. > > I think I agree that embedded IPython should inherit future flags from > the module it's called in. I'm not going to have time to work on it > for a bit, though. If anyone else wants to pick it up, I think new > code will be needed in this method: > https://github.com/ipython/ipython/blob/master/IPython/frontend/terminal/embed.py#L164 > > Otherwise, Joon, please file an issue so we don't forget about it. > > Thanks, > Thomas > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org (mailto:IPython-dev at scipy.org) > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Wed Jul 4 19:49:04 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Wed, 4 Jul 2012 16:49:04 -0700 Subject: [IPython-dev] Interesting talk by Hadley Wickham (of R fame)... Message-ID: https://speakerdeck.com/u/hadley/p/the-future-of-data-analysis Just about every single one of his points is one on which we have something ready or almost ready with IPython, pandas, statsmodels, etc, modulo the plotting situation (but I know Wes is hard at work on that too). Wickham is one of the most respected voices today in the R community, so I'm willing to trust his assessment of things in the R world as being accurate. We have our work cut out for us, but with a few more hands on deck, in 6 months or so things should be pretty solid on the rest of the toolchain (we really need to finish nbconvert). We'll see what interesting discussions or projects show up at Scipy on the visualization problem... Cheers, f From takowl at gmail.com Thu Jul 5 09:52:02 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 5 Jul 2012 14:52:02 +0100 Subject: [IPython-dev] =?iso-8859-1?q?Fwd=3A_=5BIpython-build=5D_Automatic?= =?iso-8859-1?q?_IPython_build_reports_Jenkins_build_is_back_to_nor?= =?iso-8859-1?q?mal_=3A_ipython-multi_=BB_debian6=2CCPython-3=2E3_?= =?iso-8859-1?q?=23151?= In-Reply-To: <930117728.1.1341495936730.JavaMail.uipyth01@master3> References: <1101383367.0.1341476835099.JavaMail.uipyth01@master3> <930117728.1.1341495936730.JavaMail.uipyth01@master3> Message-ID: So there's a record of this if it breaks again: the version of pyzmq available on PyPI (2.2.0) causes an error with Python 3.3. However, grabbing the source for that tag from Github and running it through an up to date Cython makes it work again. I haven't been paying attention to pyzmq releases, but if there isn't one planned in the next couple of months, it would be helpful to re-Cython the files in the release tarball, and upload a 2.2.1, so that pip install pyzmq will work straight away. Thanks, Thomas ---------- Forwarded message ---------- From: Date: 5 July 2012 14:45 Subject: [Ipython-build] Automatic IPython build reports Jenkins build is back to normal : ipython-multi ? debian6,CPython-3.3 #151 To: ipython-build at lists.ipython.org See _______________________________________________ Ipython-build mailing list Ipython-build at lists.ipython.org http://lists.ipython.org/listinfo.cgi/ipython-build-ipython.org From cekees at gmail.com Fri Jul 6 11:18:36 2012 From: cekees at gmail.com (Chris Kees) Date: Fri, 6 Jul 2012 10:18:36 -0500 Subject: [IPython-dev] updated notebook development roadmap? Message-ID: Hi, I've been going over the IPython 0.14.dev docs and my archive of this list as part of an effort to change the way I'm doing several things. I know how hard it is to keep documentation up to date and keep a wider community informed of a complex vision so I'm not complaining, but I'm hoping to get some clarification on where things are headed on the follow capabilities (sorry in advance if I've missed answers to these in the docs or discussion list): -editing in the notebook: I'd like to start developing more complex content in the notebook, and so I need better emacs keybinding support among other things. I saw the recent threads on ACE vs CodeMirror and even more recently on another push to improve the CodeMirror config (vim at least). Has it been decided that CodeMirror is the way forward, and if so will the editor support be configurable from the notebook interface or does it have to be done server side? Anybody have quick instructions on how to add emacs bindings even if it's a hack? -multiuser support: I'm currently using sage for teaching, workshops, and various demos. I really need the multiuser and sharing support for those activities. I also need multiuser because our package (proteus), and it's dependencies can be very difficult for new users to build so one way to get around that is just providing accounts on our sage server. On the other hand, after testing out Carl Smith's notebook cloud, I can see a potential path to more general (and secure) multiuser support by simply using amazon machine images and pushing the user management responsibilities off on Amazon or in-house IT services. I should note that both approaches solving a problem that may not have been discussed widely, which is making government "certified" engineering tools available to the public in a reliable way. Anyway, has the approach been decided and is there a timeline for multiuser support? Also, is there any kind of discussion or roadmap for coordination between sage notebook development and ipython development? I've see posts mentioning sharing features but nothing beyond that. -notebook sharing: If the notebook cloud approach takes off, then it seems like a sharing mechanism outside of the notebook server will be required even if multiuser support is added to the server. These days it seems like most web apps have a share button that can at a minimum email a document. It seems like integration with google drive or even G+ could be handy. -version control: Currently I'm just using git commands in a cell, but it seems like this would be relatively easy to add to the file menu. Is there a plan to add version control menus to the notebook? -slide show mode: Another handy capability that was discussed on the list a while ago. Any new development? -interactive widgets: I'd like to start working on these as soon as possible, and it looks like Brian's pull request is closed. I'm guessing the support is in the main branch. Are there some examples of interactive javascript widgets that work with the main branch (Min's gist of a flot with bessel functions isn't working for me)? Thanks, Chris From carl.input at gmail.com Fri Jul 6 17:25:02 2012 From: carl.input at gmail.com (Carl Smith) Date: Fri, 6 Jul 2012 22:25:02 +0100 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: > -notebook sharing: If the notebook cloud approach takes off, then it > seems like a sharing mechanism outside of the notebook server will be > required even if multiuser support is added to the server. These days > it seems like most web apps have a share button that can at a minimum > email a document. It seems like integration with google drive or even > G+ could be handy. Hi Chris Just to clarify, I'm not personally involved in IPython development. Whilst I get some help from the IPython guys, there's no official relationship between IPython and NBC. I just work on it as a small, personal project for now. On multi-user support, there's actually a few different cases that need 'multi-user', but each mean something different by the term. NBC has multiple users, but only so that more than one person can use the same service. It doesn't allow any interactions between users and can't access the user's machines to be able to share anything between them anyway. NBC may eventually allow one user to create a bunch of instances on their account, each with different passwords, which they could then provide to other people without any account. So a teacher with an NBC account could provide machines to students with no accounts, but there's security issues with doing that. I'm also very committed to avoiding adding any feature to NBC that could be bundled with IPython on an AMI. As for G+, Drive and stuff like that, I think those types of features are always best implemented as third-party magic that users can easily add if they want to. I don't want to upgrade one day and find a Facebook icon in my notebook :) Sorry I can't be more help. Your questions are mostly for IPython developers. All the best Carl On 6 July 2012 16:18, Chris Kees wrote: > Hi, > > I've been going over the IPython 0.14.dev docs and my archive of this > list as part of an effort to change the way I'm doing several things. > I know how hard it is to keep documentation up to date and keep a > wider community informed of a complex vision so I'm not complaining, > but I'm hoping to get some clarification on where things are headed on > the follow capabilities (sorry in advance if I've missed answers to > these in the docs or discussion list): > > -editing in the notebook: I'd like to start developing more complex > content in the notebook, and so I need better emacs keybinding support > among other things. I saw the recent threads on ACE vs CodeMirror and > even more recently on another push to improve the CodeMirror config > (vim at least). Has it been decided that CodeMirror is the way > forward, and if so will the editor support be configurable from the > notebook interface or does it have to be done server side? Anybody > have quick instructions on how to add emacs bindings even if it's a > hack? > > -multiuser support: I'm currently using sage for teaching, workshops, > and various demos. I really need the multiuser and sharing support > for those activities. I also need multiuser because our package > (proteus), and it's dependencies can be very difficult for new users > to build so one way to get around that is just providing accounts on > our sage server. On the other hand, after testing out Carl Smith's > notebook cloud, I can see a potential path to more general (and > secure) multiuser support by simply using amazon machine images and > pushing the user management responsibilities off on Amazon or in-house > IT services. I should note that both approaches solving a problem > that may not have been discussed widely, which is making government > "certified" engineering tools available to the public in a reliable > way. Anyway, has the approach been decided and is there a timeline for > multiuser support? Also, is there any kind of discussion or roadmap > for coordination between sage notebook development and ipython > development? I've see posts mentioning sharing features but nothing > beyond that. > > -notebook sharing: If the notebook cloud approach takes off, then it > seems like a sharing mechanism outside of the notebook server will be > required even if multiuser support is added to the server. These days > it seems like most web apps have a share button that can at a minimum > email a document. It seems like integration with google drive or even > G+ could be handy. > > -version control: Currently I'm just using git commands in a cell, but > it seems like this would be relatively easy to add to the file menu. > Is there a plan to add version control menus to the notebook? > > -slide show mode: Another handy capability that was discussed on the > list a while ago. Any new development? > > -interactive widgets: I'd like to start working on these as soon as > possible, and it looks like Brian's pull request is closed. I'm > guessing the support is in the main branch. Are there some examples of > interactive javascript widgets that work with the main branch (Min's > gist of a flot with bessel functions isn't working for me)? > > Thanks, > Chris > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From nicolas at pettiaux.be Fri Jul 6 22:28:20 2012 From: nicolas at pettiaux.be (Nicolas Pettiaux) Date: Sat, 7 Jul 2012 04:28:20 +0200 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: 2012/7/6 Chris Kees : A little note to help possibly with one point that Chris discuss > -version control: Currently I'm just using git commands in a cell, but > it seems like this would be relatively easy to add to the file menu. > Is there a plan to add version control menus to the notebook? Another, maybe useful approach, could be the one developped by a colleague of mine, Frederic Pluquet in cc. who has just defend his phd this week about version control in object oriented languages. Frederic's thesisgoes over versioning of objects, if possible transparently for the users (= nearly without code modifications). Frederic thesis should be online soon now that it has been defended. Frederic has a working code for smalltalk where he has developped the needed tools to work on bytecode, for the versioning to be transparent to the users. I know that Frederic had a prototype for python, at least of an earlier version of his code. he is considering to port it to python if there is enough interest. The code for smalltak is at http://www.fpluquet.be/Frederic_Pluquets_Website/Development.html Frederic lives in Brussels, so it could be possible for the ones who come to EuroScipy to meet him at the end of August. Best regards Nicolas PS once implemented for python, these tools could be used *anywhere* to get transparent objects versioning ... so I think this is potentially of great interest and use. -- Nicolas Pettiaux From nicolas at pettiaux.be Fri Jul 6 22:32:16 2012 From: nicolas at pettiaux.be (Nicolas Pettiaux) Date: Sat, 7 Jul 2012 04:32:16 +0200 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: Hi Sorry for the noise. I repost with Frederic Pluquet in cc. in such a way that Frederic can jump him personnaly. Please recognize that Frederic may answer with delay as he is just recovering from his thesis and a yearlong teaching and writing his PhD at the same time. My previous post went to fast ! Regards, Nicolas Pettiaux ---------- Forwarded message ---------- Date: 2012/7/7 Subject: Re: [IPython-dev] updated notebook development roadmap? 2012/7/6 Chris Kees : A little note to help possibly with one point that Chris discuss > -version control: Currently I'm just using git commands in a cell, but > it seems like this would be relatively easy to add to the file menu. > Is there a plan to add version control menus to the notebook? Another, maybe useful approach, could be the one developped by a colleague of mine, Frederic Pluquet in cc. who has just defend his phd this week about version control in object oriented languages. Frederic's thesisgoes over versioning of objects, if possible transparently for the users (= nearly without code modifications). Frederic thesis should be online soon now that it has been defended. Frederic has a working code for smalltalk where he has developped the needed tools to work on bytecode, for the versioning to be transparent to the users. I know that Frederic had a prototype for python, at least of an earlier version of his code. he is considering to port it to python if there is enough interest. The code for smalltak is at http://www.fpluquet.be/Frederic_Pluquets_Website/Development.html Frederic lives in Brussels, so it could be possible for the ones who come to EuroScipy to meet him at the end of August. Best regards Nicolas PS once implemented for python, these tools could be used *anywhere* to get transparent objects versioning ... so I think this is potentially of great interest and use. -- Nicolas Pettiaux From dlsun at stanford.edu Sat Jul 7 02:53:05 2012 From: dlsun at stanford.edu (Dennis Sun) Date: Fri, 6 Jul 2012 23:53:05 -0700 Subject: [IPython-dev] multiple worksheets and tabs In-Reply-To: References: Message-ID: Thanks Brian. I'm going to give this a crack over the next couple of days. I'm probably not going to have a complete solution given my lack of Javascript skills, but hopefully it'll be something off which we can build. - Dennis On Tue, Jun 26, 2012 at 12:07 PM, Brian Granger wrote: > Our existing Notebook class (notebook.js) will have to be refactored > into two pieces: > > Worksheet (which manages a sequence of cells) > Notebook (which manages a sequence of worksheets) > > This is a serious amount of JS coding, not particularly hard, but > there are a lot of moving pieces. > > * Then there is the creation of the UI within these classes. > * We will also probably have to do some new layout logic to manage the > scrolling properly. > * Finally, there are issues with focus/refresh/etc. These will be > pretty subtle. > > > > On Tue, Jun 26, 2012 at 11:19 AM, Dennis Sun wrote: > > Hello all, > > > > I've heard that iPython will support multiple worksheets in the future, > with > > the idea being that each worksheet would get a separate tab. It seems > like > > this would be an extremely useful feature that I would like to try to > > implement myself if it's not already in the works. Just so that I don't > > rediscover the wheel -- what are the conceptual or technical difficulties > > that are holding a feature like this back? > > > > Thanks, > > Dennis > > > > _______________________________________________ > > IPython-dev mailing list > > IPython-dev at scipy.org > > http://mail.scipy.org/mailman/listinfo/ipython-dev > > > > > > -- > Brian E. Granger > Cal Poly State University, San Luis Obispo > bgranger at calpoly.edu and ellisonbg at gmail.com > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jason-sage at creativetrax.com Sat Jul 7 11:42:25 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Sat, 07 Jul 2012 10:42:25 -0500 Subject: [IPython-dev] A top-level metadata attribute to all messages In-Reply-To: <4FF19E28.6090000@creativetrax.com> References: <4FF19E28.6090000@creativetrax.com> Message-ID: <4FF858E1.6020202@creativetrax.com> On 7/2/12 8:12 AM, Jason Grout wrote: > Min and I have been discussing on > https://github.com/ipython/ipython/pull/2051 a way to have metadata > attributes on all messages. Min has a great comment summarizing at > least 3 ways this could be done [1]: > > 1. metadata in the header (possibly via subheader). I don't like this, > because I don't think most library code should be using headers for > anything. The content should be everything you need to know about the > message itself, and the headers should only be used for low-level > routing of handlers. But this is exactly what I did in the parallel code > for message introspection without unpacking content. > > 2. metadata as a fourth top-level component of all messages. On some > level, this is the cleanest, but most handlers really only need the > 'content' of the message after the Application has used the headers to > figure out what handlers to call. So this would mean we are always > passing the whole Message around, or we are always passing two dicts > (content and metadata) around. > > 3. metadata as an optional key in all content dicts. This has the > benefit of extending what we already have, rather than changing it. But > we don't actually use the metadata key from displaypub for anything, so > there's not a high cost to change. > > Personally, the elegance of having a top-level metadata attribute, > separate from the content attribute makes a lot of sense to me. > > As for use-cases, in the Sage cell server project, we'd use such > metadata to determine where to display the results of a message, for > example (i.e., put this pyout in div 34 on the html page). > > The patch on the pull request enables one to set session defaults for > the subheader, as well as defaults for a 'metadata' attribute for stream > messages. But I can change the patch to instead do a session default > for a top-level metadata attribute easily. > > Thanks, > > Jason > > [1] https://github.com/ipython/ipython/pull/2051#issuecomment-6688471 I'm getting back to implementing option 2 above. What do people think of the proposals above? Thanks, Jason From carl.input at gmail.com Sat Jul 7 16:46:21 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 7 Jul 2012 21:46:21 +0100 Subject: [IPython-dev] Quick question about extensions Message-ID: I've just added the packages Fernando recommmended to the NotebookCloud AMI and I'm testing it now. I can't use %octave. I get an Error saying the magic's not found. I tried importing oct2py and octavemagic, which worked, but still can't do %octave. The same's true for R and Cython. Where am I going wrong please? -------------- next part -------------- An HTML attachment was scrubbed... URL: From carl.input at gmail.com Sat Jul 7 16:57:47 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 7 Jul 2012 21:57:47 +0100 Subject: [IPython-dev] Quick question about extensions In-Reply-To: References: Message-ID: Sorry. I figured it out now. On 7 July 2012 21:46, Carl Smith wrote: > I've just added the packages Fernando recommmended to the NotebookCloud AMI > and I'm testing it now. > > I can't use %octave. I get an Error saying the magic's not found. I tried > importing oct2py and octavemagic, which worked, but still can't do %octave. > > The same's true for R and Cython. Where am I going wrong please? From fperez.net at gmail.com Sat Jul 7 17:23:08 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sat, 7 Jul 2012 14:23:08 -0700 Subject: [IPython-dev] multiple worksheets and tabs In-Reply-To: References: Message-ID: On Fri, Jul 6, 2012 at 11:53 PM, Dennis Sun wrote: > Thanks Brian. I'm going to give this a crack over the next couple of days. > I'm probably not going to have a complete solution given my lack of > Javascript skills, but hopefully it'll be something off which we can build. Great. Don't hesitate to create a PR and mark it as '**Work in progress**' prominently in the first line of the description. That way we know it's meant for feedback and refinement, but it's often easier to have a discussion based on concrete code, and evolve it until it's in solid enough shape for merge. Cheers, f From fperez.net at gmail.com Sat Jul 7 17:29:16 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sat, 7 Jul 2012 14:29:16 -0700 Subject: [IPython-dev] Quick question about extensions In-Reply-To: References: Message-ID: On Sat, Jul 7, 2012 at 1:57 PM, Carl Smith wrote: > Sorry. I figured it out now. For those who might be curious, the answer is that each of the R, Cython and octave extensions aren't on by default, so you must first do %load_ext before using it. We don't want IPython start to be unnecessarily slow, so these things get loaded only when the user requests them (esp. given that they need to import somewhat unusual packages, and some even have to start subprocesses like R and octave). cheers, f From cekees at gmail.com Sun Jul 8 13:12:09 2012 From: cekees at gmail.com (Chris Kees) Date: Sun, 8 Jul 2012 12:12:09 -0500 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: Hi Carl, Thanks for you comments. I realize there's no official relationship between NBC and IPython. What I was getting at is that if IPython sharing is implemented external to the notebook server and generating personal notebook servers is easy enough, then a lot of use cases are covered without the IPython devs implementing multiuser support. A large fraction of what I do with sage depends on the sharing and publishing features so I'm not really sure that and external-to-Ipython approach can cover all the use cases. The fact is we have to design for beginners needs (and unfortunately for some who will never try to be anything but beginners), in which case having admin acces to a multi-user server may be the only viable solution. Chris On Fri, Jul 6, 2012 at 4:25 PM, Carl Smith wrote: >> -notebook sharing: If the notebook cloud approach takes off, then it >> seems like a sharing mechanism outside of the notebook server will be >> required even if multiuser support is added to the server. These days >> it seems like most web apps have a share button that can at a minimum >> email a document. It seems like integration with google drive or even >> G+ could be handy. > > Hi Chris > > Just to clarify, I'm not personally involved in IPython development. > Whilst I get some help from the IPython guys, there's no official > relationship between IPython and NBC. I just work on it as a small, > personal project for now. > > On multi-user support, there's actually a few different cases that > need 'multi-user', but each mean something different by the term. NBC > has multiple users, but only so that more than one person can use the > same service. It doesn't allow any interactions between users and > can't access the user's machines to be able to share anything between > them anyway. > > NBC may eventually allow one user to create a bunch of instances on > their account, each with different passwords, which they could then > provide to other people without any account. So a teacher with an NBC > account could provide machines to students with no accounts, but > there's security issues with doing that. > > I'm also very committed to avoiding adding any feature to NBC that > could be bundled with IPython on an AMI. > > As for G+, Drive and stuff like that, I think those types of features > are always best implemented as third-party magic that users can easily > add if they want to. I don't want to upgrade one day and find a > Facebook icon in my notebook :) > > Sorry I can't be more help. Your questions are mostly for IPython developers. > > All the best > > Carl > > On 6 July 2012 16:18, Chris Kees wrote: >> Hi, >> >> I've been going over the IPython 0.14.dev docs and my archive of this >> list as part of an effort to change the way I'm doing several things. >> I know how hard it is to keep documentation up to date and keep a >> wider community informed of a complex vision so I'm not complaining, >> but I'm hoping to get some clarification on where things are headed on >> the follow capabilities (sorry in advance if I've missed answers to >> these in the docs or discussion list): >> >> -editing in the notebook: I'd like to start developing more complex >> content in the notebook, and so I need better emacs keybinding support >> among other things. I saw the recent threads on ACE vs CodeMirror and >> even more recently on another push to improve the CodeMirror config >> (vim at least). Has it been decided that CodeMirror is the way >> forward, and if so will the editor support be configurable from the >> notebook interface or does it have to be done server side? Anybody >> have quick instructions on how to add emacs bindings even if it's a >> hack? >> >> -multiuser support: I'm currently using sage for teaching, workshops, >> and various demos. I really need the multiuser and sharing support >> for those activities. I also need multiuser because our package >> (proteus), and it's dependencies can be very difficult for new users >> to build so one way to get around that is just providing accounts on >> our sage server. On the other hand, after testing out Carl Smith's >> notebook cloud, I can see a potential path to more general (and >> secure) multiuser support by simply using amazon machine images and >> pushing the user management responsibilities off on Amazon or in-house >> IT services. I should note that both approaches solving a problem >> that may not have been discussed widely, which is making government >> "certified" engineering tools available to the public in a reliable >> way. Anyway, has the approach been decided and is there a timeline for >> multiuser support? Also, is there any kind of discussion or roadmap >> for coordination between sage notebook development and ipython >> development? I've see posts mentioning sharing features but nothing >> beyond that. >> >> -notebook sharing: If the notebook cloud approach takes off, then it >> seems like a sharing mechanism outside of the notebook server will be >> required even if multiuser support is added to the server. These days >> it seems like most web apps have a share button that can at a minimum >> email a document. It seems like integration with google drive or even >> G+ could be handy. >> >> -version control: Currently I'm just using git commands in a cell, but >> it seems like this would be relatively easy to add to the file menu. >> Is there a plan to add version control menus to the notebook? >> >> -slide show mode: Another handy capability that was discussed on the >> list a while ago. Any new development? >> >> -interactive widgets: I'd like to start working on these as soon as >> possible, and it looks like Brian's pull request is closed. I'm >> guessing the support is in the main branch. Are there some examples of >> interactive javascript widgets that work with the main branch (Min's >> gist of a flot with bessel functions isn't working for me)? >> >> Thanks, >> Chris >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> http://mail.scipy.org/mailman/listinfo/ipython-dev > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From cekees at gmail.com Sun Jul 8 13:13:24 2012 From: cekees at gmail.com (Chris Kees) Date: Sun, 8 Jul 2012 12:13:24 -0500 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: On Fri, Jul 6, 2012 at 9:28 PM, Nicolas Pettiaux wrote: > 2012/7/6 Chris Kees : > A little note to help possibly with one point that Chris discuss > >> -version control: Currently I'm just using git commands in a cell, but >> it seems like this would be relatively easy to add to the file menu. >> Is there a plan to add version control menus to the notebook? > > Another, maybe useful approach, could be the one developped by a > colleague of mine, Frederic Pluquet in cc. who has just defend his phd > this week about version control in object oriented languages. > > Frederic's thesisgoes over versioning of objects, if possible > transparently for the users (= nearly without code modifications). > Frederic thesis should be online soon now that it has been defended. > Frederic has a working code for smalltalk where he has developped the > needed tools to work on bytecode, for the versioning to be transparent > to the users. I know that Frederic had a prototype for python, at > least of an earlier version of his code. he is considering to port it > to python if there is enough interest. > The code for smalltak is at > http://www.fpluquet.be/Frederic_Pluquets_Website/Development.html > That sounds very interesting. I will take a look. Chris > Frederic lives in Brussels, so it could be possible for the ones who > come to EuroScipy to meet him at the end of August. > > Best regards > > Nicolas > > PS once implemented for python, these tools could be used *anywhere* > to get transparent objects versioning ... so I think this is > potentially of great interest and use. > > -- > Nicolas Pettiaux > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From fperez.net at gmail.com Sun Jul 8 15:49:20 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 8 Jul 2012 12:49:20 -0700 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: Hi folks, just to say that the silence from several of us isn't lack of interest, just lack of bandwidth. I'm swamped with a grant deadline, Brian has some logistical constraints of his own, Min is on holiday and I think Thomas is also away. So please bear with us for a bit: we do want to engage everyone on this broader discussion now that 0.13 gives us a good base to start from, and we really appreciate everyone's ideas and interest. I just wish days had more than 24 hours :) Cheers, f From carl.input at gmail.com Mon Jul 9 19:17:56 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 10 Jul 2012 00:17:56 +0100 Subject: [IPython-dev] Can't display gifs in notebooks. Message-ID: I'm just testing the Notebook Tour example and gifs don't work. I run this: from IPython.display import Image Image('http://python.org/images/python-logo.gif') And get this: UnicodeDecodeError Traceback (most recent call last) in () 1 from IPython.display import Image ----> 2 Image('http://python.org/images/python-logo.gif') /usr/local/lib/python2.7/dist-packages/IPython/core/displayhook.pyc in __call__(self, result) 240 self.update_user_ns(result) 241 self.log_output(format_dict) --> 242 self.finish_displayhook() 243 244 def flush(self): /usr/local/lib/python2.7/dist-packages/IPython/zmq/displayhook.pyc in finish_displayhook(self) 59 sys.stdout.flush() 60 sys.stderr.flush() ---> 61 self.session.send(self.pub_socket, self.msg, ident=self.topic) 62 self.msg = None 63 /usr/local/lib/python2.7/dist-packages/IPython/zmq/session.pyc in send(self, stream, msg_or_type, content, parent, ident, buffers, subheader, track, header) 557 558 buffers = [] if buffers is None else buffers --> 559 to_send = self.serialize(msg, ident) 560 flag = 0 561 if buffers: /usr/local/lib/python2.7/dist-packages/IPython/zmq/session.pyc in serialize(self, msg, ident) 461 content = self.none 462 elif isinstance(content, dict): --> 463 content = self.pack(content) 464 elif isinstance(content, bytes): 465 # content is already packed, as in a relayed message /usr/local/lib/python2.7/dist-packages/IPython/zmq/session.pyc in (obj) 76 77 # ISO8601-ify datetime objects ---> 78 json_packer = lambda obj: jsonapi.dumps(obj, default=date_default) 79 json_unpacker = lambda s: extract_dates(jsonapi.loads(s)) 80 /usr/lib/python2.7/dist-packages/zmq/utils/jsonapi.pyc in dumps(o, **kwargs) 72 """%jsonmod 73 ---> 74 return _squash_unicode(jsonmod.dumps(o, separators=(',',':'),**kwargs)) 75 76 def loads(s,**kwargs): /usr/lib/python2.7/dist-packages/simplejson/__init__.pyc in dumps(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, encoding, default, use_decimal, namedtuple_as_object, tuple_as_array, **kw) 294 namedtuple_as_object=namedtuple_as_object, 295 tuple_as_array=tuple_as_array, --> 296 **kw).encode(obj) 297 298 /usr/lib/python2.7/dist-packages/simplejson/encoder.pyc in encode(self, o) 224 # exceptions aren't as detailed. The list call should be roughly 225 # equivalent to the PySequence_Fast that ''.join() would do. --> 226 chunks = self.iterencode(o, _one_shot=True) 227 if not isinstance(chunks, (list, tuple)): 228 chunks = list(chunks) /usr/lib/python2.7/dist-packages/simplejson/encoder.pyc in iterencode(self, o, _one_shot) 294 self.namedtuple_as_object, self.tuple_as_array) 295 try: --> 296 return _iterencode(o, 0) 297 finally: 298 key_memo.clear() UnicodeDecodeError: 'utf8' codec can't decode byte 0xd3 in position 6: invalid continuation byte It works fine with pngs and jpgs, just not gifs. I seem to get pretty much the same error for all gifs. I really need to get this working. Any help is appreciated. Thanks Carl From carl.input at gmail.com Mon Jul 9 19:19:46 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 10 Jul 2012 00:19:46 +0100 Subject: [IPython-dev] Can't display gifs in notebooks. In-Reply-To: References: Message-ID: P.S. If I use display(Image(url)), I get the same result. This is also true if the image is local and I use Image(filename='somepath'). Always only with gifs. From carl.input at gmail.com Mon Jul 9 20:06:38 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 10 Jul 2012 01:06:38 +0100 Subject: [IPython-dev] Can't display gifs in notebooks. In-Reply-To: References: Message-ID: Ah. It works on remote files if I do it with named args Image(url='http://python.org/images/python-logo.gif') but that isn't how it is in the example given. From fperez.net at gmail.com Mon Jul 9 20:44:51 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 9 Jul 2012 17:44:51 -0700 Subject: [IPython-dev] Can't display gifs in notebooks. In-Reply-To: References: Message-ID: On Mon, Jul 9, 2012 at 4:17 PM, Carl Smith wrote: > I'm just testing the Notebook Tour example and gifs don't work. Please open an issue, this looks like a legit bug. From carl.input at gmail.com Mon Jul 9 20:51:18 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 10 Jul 2012 01:51:18 +0100 Subject: [IPython-dev] Can't display gifs in notebooks. In-Reply-To: References: Message-ID: I think it's a mistake in the example given. I'll check it. If so, then only the notebook needs editing. On Jul 10, 2012 1:45 AM, "Fernando Perez" wrote: > On Mon, Jul 9, 2012 at 4:17 PM, Carl Smith wrote: > > I'm just testing the Notebook Tour example and gifs don't work. > > Please open an issue, this looks like a legit bug. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Mon Jul 9 20:54:12 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 9 Jul 2012 17:54:12 -0700 Subject: [IPython-dev] Can't display gifs in notebooks. In-Reply-To: References: Message-ID: On Mon, Jul 9, 2012 at 5:51 PM, Carl Smith wrote: > I think it's a mistake in the example given. I'll check it. If so, then only > the notebook needs editing. But if there's inconsistency between how gifs are handled compared to pngs, we should fix that. From carl.input at gmail.com Mon Jul 9 20:58:44 2012 From: carl.input at gmail.com (Carl Smith) Date: Tue, 10 Jul 2012 01:58:44 +0100 Subject: [IPython-dev] Can't display gifs in notebooks. In-Reply-To: References: Message-ID: Ah. That makes sense. I'll file it. On Jul 10, 2012 1:54 AM, "Fernando Perez" wrote: > On Mon, Jul 9, 2012 at 5:51 PM, Carl Smith wrote: > > I think it's a mistake in the example given. I'll check it. If so, then > only > > the notebook needs editing. > > But if there's inconsistency between how gifs are handled compared to > pngs, we should fix that. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From damianavila at gmail.com Mon Jul 9 21:58:28 2012 From: damianavila at gmail.com (=?ISO-8859-1?Q?Dami=E1n_Avila?=) Date: Mon, 09 Jul 2012 22:58:28 -0300 Subject: [IPython-dev] [ANN] vIPer is out!!! Message-ID: <4FFB8C44.5010405@gmail.com> To all, I would like to announce to you that I have released a very alpha version of vIPer. vIPer is a new tool to work with IPython notebooks, a webkit-based browser with a lot of interesting features. You can see some of them in this video: http://www.youtube.com/watch?v=n5IWwJnWkzQ&feature=g-upl And some new examples here: http://www.staticviper.oquanta.info and here: http://www.slideviper.oquanta.info The page of the project, with minimal documentation and the link to the source code at github, lives in: http://www.viperapp.oquanta.info All the bugs are welcome :-) Regards. Dami?n. -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Mon Jul 9 22:37:04 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 9 Jul 2012 19:37:04 -0700 Subject: [IPython-dev] [ANN] vIPer is out!!! In-Reply-To: <4FFB8C44.5010405@gmail.com> References: <4FFB8C44.5010405@gmail.com> Message-ID: On Mon, Jul 9, 2012 at 6:58 PM, Dami?n Avila wrote: > To all, > > I would like to announce to you that I have released a very alpha version of > vIPer. > > vIPer is a new tool to work with IPython notebooks, a webkit-based browser > with a lot of interesting features. Congratulations, and thanks for putting it up on github! I look forward to playing with it soon... Cheers, f ps - we really need to revamp our homepage and organize things so we have a nice way of linking to the various projects in the 'ipython ecosystem': Paul's vim client, the emacs notebook client, viper, Carl's NBC, ... (am I forgetting something?) From nicolas.chauvat at logilab.fr Tue Jul 10 04:00:43 2012 From: nicolas.chauvat at logilab.fr (Nicolas Chauvat) Date: Tue, 10 Jul 2012 10:00:43 +0200 Subject: [IPython-dev] [ANN] vIPer is out!!! In-Reply-To: References: <4FFB8C44.5010405@gmail.com> Message-ID: <20120710080043.GA4249@volans.logilab.fr> On Mon, Jul 09, 2012 at 07:37:04PM -0700, Fernando Perez wrote: > ps - we really need to revamp our homepage and organize things so we > have a nice way of linking to the various projects in the 'ipython > ecosystem': Paul's vim client, the emacs notebook client, viper, > Carl's NBC, ... (am I forgetting something?) +1 I have started pointing users of R/SciLab/Matlab/Octave/etc. to the IPython Notebook and it would be much easier if there was a single URL/entry point. IMHO, the IPython Notebook is something a bit different from IPython that can attract its own set of users and deserves and distinct home page. -- Nicolas Chauvat logilab.fr - services en informatique scientifique et gestion de connaissances From bussonniermatthias at gmail.com Tue Jul 10 04:57:32 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Tue, 10 Jul 2012 10:57:32 +0200 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: Le 6 juil. 2012 ? 17:18, Chris Kees a ?crit : > -editing in the notebook: I'd like to start developing more complex > content in the notebook, and so I need better emacs keybinding support > among other things. I saw the recent threads on ACE vs CodeMirror and > even more recently on another push to improve the CodeMirror config > (vim at least). Has it been decided that CodeMirror is the way > forward, and if so will the editor support be configurable from the > notebook interface or does it have to be done server side? Anybody > have quick instructions on how to add emacs bindings even if it's a > hack? This we should ask Brian, but the Ace branch is gone and code mirror have enough flexibility to do what we want, and maintaining 2 editors is too much work. http://codemirror.net/demo/emacs.html you would have to add keyMap: "emacs" In many places in IPython/frontend/html/notebook/static/js/* I would make a IPython.notebook.keybindings variable with a default value. IF you want to make a PR... > -notebook sharing: If the notebook cloud approach takes off, then it > seems like a sharing mechanism outside of the notebook server will be > required even if multiuser support is added to the server. These days > it seems like most web apps have a share button that can at a minimum > email a document. It seems like integration with google drive or even > G+ could be handy. > -version control: Currently I'm just using git commands in a cell, but > it seems like this would be relatively easy to add to the file menu. > Is there a plan to add version control menus to the notebook? Brian did post a PR with ability to have different backend. I think you want to dig around those. After we have to think of the UI. My guess on that would be a small drop down menu near the save icon with common option. And in the long run, I think we want a gist backend for easy sharing. > -slide show mode: Another handy capability that was discussed on the > list a while ago. Any new development? vIPer can make slides : see http://old.nabble.com/-ANN--vIPer-is-out!!!-td34137548.html I also took a shot at making something in JS that just fade cell In/Out It worked nice from the JS console basically this in a MD cell : then call `nslide()` to go to next slide. Need to make UI now > -interactive widgets: I'd like to start working on these as soon as > possible, and it looks like Brian's pull request is closed. I'm > guessing the support is in the main branch. Are there some examples of > interactive javascript widgets that work with the main branch (Min's > gist of a flot with bessel functions isn't working for me)? In 2 words, you call IPython.kernel.execute("your code", {a dict of callbacks for replies}) see IPython/frontend/html/notebook/static/js/codecell.js ~ L161 and docs/examples/widgets/directview/* also one of the notebook example have a progress bar. -- Matthias > Thanks, > Chris > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: From damianavila at gmail.com Tue Jul 10 08:23:42 2012 From: damianavila at gmail.com (=?ISO-8859-1?Q?Dami=E1n_Avila?=) Date: Tue, 10 Jul 2012 09:23:42 -0300 Subject: [IPython-dev] [ANN] vIPer is out!!! In-Reply-To: References: <4FFB8C44.5010405@gmail.com> Message-ID: <4FFC1ECE.4070306@gmail.com> El 09/07/12 23:37, Fernando Perez escribi?: > On Mon, Jul 9, 2012 at 6:58 PM, Dami?n Avila wrote: >> To all, >> >> I would like to announce to you that I have released a very alpha version of >> vIPer. >> >> vIPer is a new tool to work with IPython notebooks, a webkit-based browser >> with a lot of interesting features. > Congratulations, and thanks for putting it up on github! I look > forward to playing with it soon... > > Cheers, > > f > > ps - we really need to revamp our homepage and organize things so we > have a nice way of linking to the various projects in the 'ipython > ecosystem': Paul's vim client, the emacs notebook client, viper, > Carl's NBC, ... (am I forgetting something?) > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev Thanks Fernando, I hope you enjoy it! BTW, +1 to your ps. In this way, the new users would easily know about these projects without the need of participation in the user-list or dev-list. Cheers, Dami?n. From benjaminrk at gmail.com Tue Jul 10 10:50:55 2012 From: benjaminrk at gmail.com (Min RK) Date: Tue, 10 Jul 2012 16:50:55 +0200 Subject: [IPython-dev] Can't display gifs in notebooks. In-Reply-To: References: Message-ID: <5483F303-2FD7-4A70-9402-C310A8302F35@gmail.com> We have never supported embedded images other than png/jpg/svg. You should be able to use images by URL (Image(url='...')), which results in an tag, rather than b64-encoded data, for which we only support png/jpg. -MinRK On Jul 10, 2012, at 2:58, Carl Smith wrote: > Ah. That makes sense. I'll file it. > > On Jul 10, 2012 1:54 AM, "Fernando Perez" wrote: > On Mon, Jul 9, 2012 at 5:51 PM, Carl Smith wrote: > > I think it's a mistake in the example given. I'll check it. If so, then only > > the notebook needs editing. > > But if there's inconsistency between how gifs are handled compared to > pngs, we should fix that. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Tue Jul 10 15:39:11 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Tue, 10 Jul 2012 12:39:11 -0700 Subject: [IPython-dev] [ANN] vIPer is out!!! In-Reply-To: <4FFC1ECE.4070306@gmail.com> References: <4FFB8C44.5010405@gmail.com> <4FFC1ECE.4070306@gmail.com> Message-ID: On Tue, Jul 10, 2012 at 5:23 AM, Dami?n Avila wrote: > BTW, +1 to your ps. In this way, the new users would easily know about > these projects without the need of participation in the user-list or > dev-list. I've made a list here of possible projects for the sprints, including this idea: http://wiki.ipython.org/SciPy2012Sprint Cheers, f From fperez.net at gmail.com Tue Jul 10 15:51:32 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Tue, 10 Jul 2012 12:51:32 -0700 Subject: [IPython-dev] sprint ideas page Message-ID: HI all, I just made this: http://wiki.ipython.org/SciPy2012Sprint please do edit with any other ideas you could have to organize sprint activity cheers f From fperez.net at gmail.com Tue Jul 10 20:04:33 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Tue, 10 Jul 2012 17:04:33 -0700 Subject: [IPython-dev] ipython plop Message-ID: http://tech.dropbox.com/?p=272 Who's going to make a little wrapper to have a %%plop magic that runs a cell with this and loads the resulting d3 viz below? f From manderso at broadcom.com Wed Jul 11 15:58:35 2012 From: manderso at broadcom.com (Matt Anderson) Date: Wed, 11 Jul 2012 19:58:35 +0000 Subject: [IPython-dev] migration issues, embedding latest IPython in another application Message-ID: Hello IPython Developers, We have an application which embeds an IPython shell for occasional use (the program's normal operation uses a standard library cmd.Cmd subclass, and ipython can be invoked as a do-command from that). We've been using IPython v0.10.2 for well over a year, and I'm currently evaluating upgrading to the newest release, IPython v0.13. I wanted to relate some issues I've encountered, and ask a question or two. The first issue encountered was the config system throwing a ConfigError (not an ImportError) when the top level IPython package was imported (IPython/__init__.py). Another developer on my team had altered the __builtin__ module to include a symbol "pprint", and this caused a collision with the name "pprint" used in the IPython configuration system (which refuses to set items if they are present in the __builtin__ module). I know it is not best practice to alter the __builtin__ module, but in the context of embedding a shell into another application, is it safe to assume that the __builtin__ module has not been altered? We solved the collision issue by moving the debugging symbols (the additions to the __builtin__ module were meant for convenience in debugging) into a more obscure namespace, but we find it frustrating that IPython imposes this requirement by virtue of it imported, much less used. Is this behavior / requirement ("do not alter the __builtin__ module if embedding IPython") documented somewhere? If not, I would suggest that it be. Also, please consider catching this error in IPython/__init__.py and re-raising ImportError, if this happens at import-time. Several bigger issues I encountered revolve around threading. Our application can run headless, and the cmd.Cmd shell (when active) does not run in the main thread. The current version of IPython installs at-exit handlers when a shell is created or starts up, including functionality to close/save the history session when the program exits. An exception gets thrown during the exit process though: "ProgrammingError: SQLite objects created in a thread can only be used in that same thread." The ipython shell created the sqlite db object in the cmd.Cmd's thread, and the at-exit handlers always (or at least in most cases / our case) run in the main thread. I understand that there is a workaround to open a sqlite3 connection in a way that suppresses this behavior, but IPython doesn't open the connection in that way by default, and doesn't seem to provide a hook to do this short of subclassing the TerminalInteractiveClass or the InteractiveShellEmbed class and writing one's own init_history() method, and further subclassing the HistoryManager and overriding its init_db() method. So, it seems like it is a currently, more or less, a requirement that an embedded IPython shell can only be run in the main thread (at least without lots of effort to make it work otherwise). Is this in fact the case, or am I missing something? Is this documented somewhere? Also, I'm not certain if the IPython.embed() function works as intended. It calls the InteractiveShellEmbed class directly to construct one, not the InteractiveShellEmbed.instance() method. So an interpreter constructed in this way does not participate in the singleton system, and the first time one of many things happen in the interactive loop (such as an exception being thrown), *another* InteractiveShell object gets constructed that does not share the config that the InteractiveShellEmbed class was passed. I discovered this after configuring the HistoryManager.hist_file configuration setting to be ":memory:", and then running a pdb.set_trace() when the IPython.core.history.HistorySavingThread was being constructed (which should not happen if the hist_file is ":memory:"). The singleton that does get constructed was trying to open a connection to the default history db file location, and so I assume it was constructed with no configuration parameters (at least not with the ones I passed in). Is that the desired behavior? Or should IPython.frontend.terminal.embed.embed() be calling InteractiveShellEmbed.instance(**kwargs) instead of InteractiveShellEmbed(**kwargs)? I was debugging in that way because we want to have tighter control over what threads are running in our application, and I didn't want IPython to start one simply for the history saving feature (which we really do not require in our application). Is there any non-monkey patching way to turn off the history database subsystem entirely? I'd be happy to have it operate in ":memory:" if it didn't cause the cross-thread database close error on shutdown, but currently it does. Also, our user home directories are on NFS, and we've definitely encountered the sqlite NFS locking bug mentioned in the SQLite FAQ (http://www.sqlite.org/faq.html). It is infrequent, but it can (and does) happen at scale. Because we've been bitten, I'm wary of putting a sqlite database on an NFS filesystem when there are multiple processes reading from and writing to that database. I've settled on the following to more or less accomplish this: import IPython.core.history IPython.core.history.sqlite3 = None IPython.core.history.HistoryAccessor.db = None # necessary because of Instance descriptor def do_not_warn(msg): pass IPython.core.history.warn = do_not_warn before creating an embedded IPython shell. But this is of course version / implementation specific, and therefore brittle (and kind of ugly). I'm hoping there's a better way. And, because the embed() function works the way that it does, I'm currently doing the following (more or less) to embed the shell in our application: ipshell = InteractiveShellEmbed.instance(config=cfg) ipshell() Please let me know if I'm approaching any of the problems I ran into in the wrong way, and missing some already existing solution / IPython usage idiom. Also, I hope that describing the problems I encountered while migrating might be useful to you all. We're looking to make the switch to the newer IPython in the hopes we can leverage some of the distributed kernel/engine features. Our application actually runs in a distributed fashion (popping up worker applications via LSF on other run hosts), but we have only limited visibility into what they're doing while they run; far less than in the main application where we can open an IPython embedded shell and poke around. I'm looking forward to further exploring those, and all the other new feature enhancements since v0.10.2! Thanks, -- Matt Anderson manderso at broadcom.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From ellisonbg at gmail.com Thu Jul 12 11:37:08 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Thu, 12 Jul 2012 08:37:08 -0700 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: Chris, You are reading our minds... On Fri, Jul 6, 2012 at 8:18 AM, Chris Kees wrote: > Hi, > > I've been going over the IPython 0.14.dev docs and my archive of this > list as part of an effort to change the way I'm doing several things. > I know how hard it is to keep documentation up to date and keep a > wider community informed of a complex vision so I'm not complaining, > but I'm hoping to get some clarification on where things are headed on > the follow capabilities (sorry in advance if I've missed answers to > these in the docs or discussion list): > > -editing in the notebook: I'd like to start developing more complex > content in the notebook, and so I need better emacs keybinding support > among other things. I saw the recent threads on ACE vs CodeMirror and > even more recently on another push to improve the CodeMirror config > (vim at least). Has it been decided that CodeMirror is the way > forward, and if so will the editor support be configurable from the > notebook interface or does it have to be done server side? Anybody > have quick instructions on how to add emacs bindings even if it's a > hack? Unfortunately, we can't use ACE as it has a fatal contraint: there can only be one ACE editor on the page. Also, we have found that both CodeMirror and ACE are moving quickly and it is not clear that ACE is really better than CodeMirror. But we do want to improve our key bindings for CodeMirror. > -multiuser support: I'm currently using sage for teaching, workshops, > and various demos. I really need the multiuser and sharing support > for those activities. I also need multiuser because our package > (proteus), and it's dependencies can be very difficult for new users > to build so one way to get around that is just providing accounts on > our sage server. On the other hand, after testing out Carl Smith's > notebook cloud, I can see a potential path to more general (and > secure) multiuser support by simply using amazon machine images and > pushing the user management responsibilities off on Amazon or in-house > IT services. I should note that both approaches solving a problem > that may not have been discussed widely, which is making government > "certified" engineering tools available to the public in a reliable > way. Anyway, has the approach been decided and is there a timeline for > multiuser support? Also, is there any kind of discussion or roadmap > for coordination between sage notebook development and ipython > development? I've see posts mentioning sharing features but nothing > beyond that. Yes, multiuser support is an absolute critical part of our vision. Just a matter of time and money... > -notebook sharing: If the notebook cloud approach takes off, then it > seems like a sharing mechanism outside of the notebook server will be > required even if multiuser support is added to the server. These days > it seems like most web apps have a share button that can at a minimum > email a document. It seems like integration with google drive or even > G+ could be handy. Yes, this is also important and we have ideas on how to tackle this. > -version control: Currently I'm just using git commands in a cell, but > it seems like this would be relatively easy to add to the file menu. > Is there a plan to add version control menus to the notebook? So far our philosophy on this is to let git do what it is good at. We are not too interested in developing an entire git UI in the notebook - that seems redundant and out of scope. We have talked about making a small "shell widget" that can be used to issue git commands so you don't have to create a new cell for these things. > -slide show mode: Another handy capability that was discussed on the > list a while ago. Any new development? Also a new PR on this as well: https://github.com/ipython/ipython/pull/2127 This is very important to us... > -interactive widgets: I'd like to start working on these as soon as > possible, and it looks like Brian's pull request is closed. I'm > guessing the support is in the main branch. Are there some examples of > interactive javascript widgets that work with the main branch (Min's > gist of a flot with bessel functions isn't working for me)? All of the Javascript pieces are in place for this, but we don't have any examples really yet. Also high priority though. Cheers, Brian > Thanks, > Chris > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From Steven.silvester at IEEE.org Fri Jul 13 00:29:30 2012 From: Steven.silvester at IEEE.org (Steven Silvester) Date: Thu, 12 Jul 2012 23:29:30 -0500 Subject: [IPython-dev] Octave Magic Message-ID: Hey folks, I am the author of oct2py. First, thanks to Stefan van der Walt for writing Octave magic. I saw on your IPython 0.13 release notes that h5py is required in addition to oct2py for Octave magic. As of version 0.3.1, I use scipy.io instead of h5py for file transfer, if you would like to update your docs. Congratulations and keep up the great work. Regards, Steven Silvester From coutinhotiago at gmail.com Fri Jul 13 05:45:22 2012 From: coutinhotiago at gmail.com (Tiago Coutinho) Date: Fri, 13 Jul 2012 11:45:22 +0200 Subject: [IPython-dev] QtConsole signal handling Message-ID: Hello, I have written an ipython extension for a library called PyTango. In this extension I subscribe to events through a callback function which is executed in a "random" thread. The callback simply uses pylab to do a plot using the event information. 1. In IPython 0.10: To avoid Qt calls outside the MainThread the callback actually emits a signal. The slot which is connected to it does the actual pylab.plot call. I simply activate -pylab and -q4thread and everything works fine. 2. In IPython 0.12 / 0.13: 2.1 If ipython is started in console mode the solution I used for IPython 0.10 works like a charm 2.2 If ipython is started in qtconsole mode with pylab=qt the solution I used for IPython 0.10 also works 2.3 If ipython is started in qtconsole mode with pylab='inline' the solution I used for IPython 0.10 doesn't work (the signal is emited but the slot is never called). 2.3.1 If I replace the callback that emits a signal with the actual plot then it works... but then cases 2.1 and 2.2 don't work anymore. I guess the solution here is to determine in which of the following 3 "modes" the ipython is running - terminal-based with pylab=qt - QtConsole with pylab=qt - QtConsole with pylab=inline I know how to check for pylab mode: app = IPython.Application.instance() app.pylab == "qt" ... but how do I find out which is the fronted being used? I wanted to avoid something nasty like for obvious reasons: app = IPython.Application.instance() is_terminal_based = isinstance(app, IPython.frontend.terminal.ipapp.TerminalIPythonApp) is_qt_console = isinstance(app, IPython.zmq.ipkernel.IPKernelApp) -------------- next part -------------- An HTML attachment was scrubbed... URL: From damianavila at gmail.com Fri Jul 13 09:56:07 2012 From: damianavila at gmail.com (=?ISO-8859-1?Q?Dami=E1n_Avila?=) Date: Fri, 13 Jul 2012 10:56:07 -0300 Subject: [IPython-dev] updated notebook development roadmap? In-Reply-To: References: Message-ID: <500028F7.80505@gmail.com> El 12/07/12 12:37, Brian Granger escribi?: >> -slide show mode: Another handy capability that was discussed on the >> list a while ago. Any new development? > Also a new PR on this as well: > > https://github.com/ipython/ipython/pull/2127 > > This is very important to us... > > Cheers, Brian I want to point it out that you can get a static slideshow view of your notebook with vIPer [1] It is still alpha, but functional right now. BTW, I love so see a native solution for presentation in IPython notebook. Dami?n. [1] http://www.viperapp.oquanta.info -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Fri Jul 13 11:51:48 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Fri, 13 Jul 2012 16:51:48 +0100 Subject: [IPython-dev] QtConsole signal handling In-Reply-To: References: Message-ID: On 13 July 2012 10:45, Tiago Coutinho wrote: > I know how to check for pylab mode: > app = IPython.Application.instance() > app.pylab == "qt" > > ... but how do I find out which is the fronted being used? Do you need to? If the difference is only with the inline matplotlib backend, you can check for that. The terminal can't use the inline backend, so if the inline backend is in use, it must be a kernel for an advanced frontend (Qt console, notebook, etc.) Also, remember that the user can start pylab mode after the application starts via the %pylab magic. I don't know if that's relevant in your case or not. Best wishes, Thomas From dchichkov at gmail.com Fri Jul 13 15:51:57 2012 From: dchichkov at gmail.com (Dmitry Chichkov) Date: Fri, 13 Jul 2012 12:51:57 -0700 Subject: [IPython-dev] available modifier keys. Broken Shift-Ins paste. Message-ID: It looks like broken "Shift-Ins" paste in Notebook is have something to do with the following code in the IPython/frontend/html/notebook/static/js/notebook.js : else if (event.which === key.SHIFT) { // ignore shift keydown return true; } If I'm commenting it out, shift-insert paste starts working again. It looks like this code was introduced in the following commit 8dc3ac7 - "prevented case-sensitive shortcuts if shift was pressed after control key: https://github.com/ipython/ipython/commit/8dc3ac7c3961a5486aeb8552d772e7be45c6128f Dmitry Don't know what OS you run, but FYI Alt-Enter doesn't seem to do > anything on Windows in both Firefox and Chrome. > >*From the user point of view, your suggestion for executing and*appending new cell in one shortcut, looks interesting to me > > While here, I don't want to steal your topic, but as I opened it > because you mentioned modifiers, I noticed strange behavior and I'm > not sure if it's the way it should be: CUI clipboard commands, which > are handy in Notebook environment, behave like this on my PC: > > - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) > - Shift-Del (Cut) - deletes selection (can be easily mistaken that > contents is cut to clipboard) > - Shift-Ins (Paste) - doesn't paste but triggers Insert > > so it looks like some changes to Shift modifier has something to do > with this unfortunate behavior. > > > On Mon, Jul 2, 2012 at 7:30 PM, Zolt?n V?r?s > wrote: > >* Hi All,*>**>* I know that since the notebook is supported on many platforms and on*>* many browsers, the intersection of the many sets containing modifiers is*>* somewhat limited, so I would like to ask, whether something like*>* Alt+Enter would work on all systems. What I would like to suggest (I can*>* also implement it, if I am given the go-ahead) is a shortcut for*>* Shift+Enter + Control-m a. Many a time, I find myself going back to a*>* piece of code in the middle of the notebook, and after entering a*>* statement, I would like to get a new code cell at that particular place.*>* Control+Enter takes me back to the cell, and Shift+Enter jumps to the*>* next cell. I think, such an addition would be useful, but I don't know*>* what the allowed modifiers are.*>**>* Any comments or suggestions?*>**>* Cheers,*>* Zolt?n*>* _______________________________________________*>* IPython-dev mailing list*>* IPython-dev at scipy.org *>* http://mail.scipy.org/mailman/listinfo/ipython-dev* > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From klonuo at gmail.com Sat Jul 14 10:03:01 2012 From: klonuo at gmail.com (klo uo) Date: Sat, 14 Jul 2012 16:03:01 +0200 Subject: [IPython-dev] available modifier keys. Broken Shift-Ins paste. In-Reply-To: References: Message-ID: Great Dmirty, I already reported the issue also on github https://github.com/ipython/ipython/issues/2113 but someone tagged it as feature request instead bug Are you saying that by commenting that line everything works as expected and it does not affect Notebook in any way? On Fri, Jul 13, 2012 at 9:51 PM, Dmitry Chichkov wrote: > It looks like broken "Shift-Ins" paste in Notebook is have something to do > with the following code in the > IPython/frontend/html/notebook/static/js/notebook.js : > > else if (event.which === key.SHIFT) { > // ignore shift keydown > return true; > } > > If I'm commenting it out, shift-insert paste starts working again. > > It looks like this code was introduced in the following commit 8dc3ac7 - > "prevented case-sensitive shortcuts if shift was pressed after control key: > https://github.com/ipython/ipython/commit/8dc3ac7c3961a5486aeb8552d772e7be45c6128f > > > Dmitry > > >> Don't know what OS you run, but FYI Alt-Enter doesn't seem to do >> anything on Windows in both Firefox and Chrome. >> >From the user point of view, your suggestion for executing and >> appending new cell in one shortcut, looks interesting to me >> >> While here, I don't want to steal your topic, but as I opened it >> because you mentioned modifiers, I noticed strange behavior and I'm >> not sure if it's the way it should be: CUI clipboard commands, which >> are handy in Notebook environment, behave like this on my PC: >> >> - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) >> - Shift-Del (Cut) - deletes selection (can be easily mistaken that >> contents is cut to clipboard) >> - Shift-Ins (Paste) - doesn't paste but triggers Insert >> >> so it looks like some changes to Shift modifier has something to do >> with this unfortunate behavior. >> >> >> On Mon, Jul 2, 2012 at 7:30 PM, Zolt?n V?r?s wrote: >> > Hi All, >> > >> > I know that since the notebook is supported on many platforms and on >> > many browsers, the intersection of the many sets containing modifiers is >> > somewhat limited, so I would like to ask, whether something like >> > Alt+Enter would work on all systems. What I would like to suggest (I can >> > also implement it, if I am given the go-ahead) is a shortcut for >> > Shift+Enter + Control-m a. Many a time, I find myself going back to a >> > piece of code in the middle of the notebook, and after entering a >> > statement, I would like to get a new code cell at that particular place. >> > Control+Enter takes me back to the cell, and Shift+Enter jumps to the >> > next cell. I think, such an addition would be useful, but I don't know >> > what the allowed modifiers are. >> > >> > Any comments or suggestions? >> > >> > Cheers, >> > Zolt?n >> > _______________________________________________ >> > IPython-dev mailing list >> > IPython-dev at scipy.org >> > http://mail.scipy.org/mailman/listinfo/ipython-dev > > > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > From carl.input at gmail.com Sat Jul 14 13:26:29 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 14 Jul 2012 18:26:29 +0100 Subject: [IPython-dev] [ANN] vIPer is out!!! In-Reply-To: References: <4FFB8C44.5010405@gmail.com> <4FFC1ECE.4070306@gmail.com> Message-ID: Hi Dami?n I've just been playing with vIPer, but wasn't able to get it all working. I may have a dependency missing or something, but I didn't see any warnings. The browser fired up and works well, I like what you're doing with it, but I couldn't use the IPython features. I tried a NotebookCloud instance, but it wouldn't follow the link to the Notebook server, it just showed 100% in the loading bar. I then tried it on a local server and it opened up the Notebook no problems, but when I pressed any of the browser buttons, it just told me that this tab isn't a notebook, when it was one. I tried entering a=1 and saving the notebook to see if that worked, but it didn't. I'll have another go at it later, but wondered if you had any thoughts? Cheers for this; it's a good idea, but I just can't get it working yet :/ All the best Carl From carl.input at gmail.com Sat Jul 14 13:37:53 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 14 Jul 2012 18:37:53 +0100 Subject: [IPython-dev] CoffeeScript Support Message-ID: I was playing with a magic last night that takes a line or cell of CoffeeScript and compiles it to a JavaScript function. It then prints the JavaScript as the output and also calls display(Javascript()) to load it into the page. If I do... %coffee alert 'hello world' then it prints... (function() { alert('hello world'); }).call(this); and an alert pops up saying hello world. Has anyone else looked into doing anything with CoffeeScript? It seems like it'd be handy in the Notebook. From damianavila at gmail.com Sat Jul 14 14:40:47 2012 From: damianavila at gmail.com (=?ISO-8859-1?Q?Dami=E1n_Avila?=) Date: Sat, 14 Jul 2012 15:40:47 -0300 Subject: [IPython-dev] [ANN] vIPer is out!!! In-Reply-To: References: <4FFB8C44.5010405@gmail.com> <4FFC1ECE.4070306@gmail.com> Message-ID: <5001BD2F.8060205@gmail.com> Hi Carl, here are my answers: El 14/07/12 14:26, Carl Smith escribi?: > I tried a NotebookCloud instance, but it wouldn't follow the link to > the Notebook server, it just showed 100% in the loading bar. If you put notebookcloud.appspot.com/login in the adress bar (Ctrl+A) you can access to the notebook cloud login (I have to figure out why is not redirecting to the login page directly from notebook.appspot.com) > I then tried it on a local server and it opened up the Notebook no > problems, but when I pressed any of the browser buttons, it just told > me that this tab isn't a notebook, when it was one. I tried entering > a=1 and saving the notebook to see if that worked, but it didn't. Try this: Set the --notebook-dir as the vIPer directory. or open ipython notebook in the same directory where vIPer and the notebooks you are working lives. Whis this, you will able to convert your notebook. You can test the example notebook to replicate the video I posted. > > I'll have another go at it later, but wondered if you had any thoughts? > > Cheers for this; it's a good idea, but I just can't get it working yet :/ > > All the best > > Carl > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev I am not at home right now, I hope you can make it work Thank you for testing. And let me know any issue. Regards. Dami?n. -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjaminrk at gmail.com Sat Jul 14 14:52:10 2012 From: benjaminrk at gmail.com (MinRK) Date: Sat, 14 Jul 2012 11:52:10 -0700 Subject: [IPython-dev] available modifier keys. Broken Shift-Ins paste. In-Reply-To: References: Message-ID: I commented this out, and shift-ins paste still doesn't work for me. I also don't see how this would be any different, as the same event will just skip all the following handlers, and return True at the end of the function (after restoring control_key_active=false, which is the behavior this is meant to avoid). Of course, commenting it out is obviously the wrong answer, as that necessarily re-breaks the thing that commit fixed (ctrl+m-shift+). What should the real event be? Should it return False? On Sat, Jul 14, 2012 at 7:03 AM, klo uo wrote: > Great Dmirty, I already reported the issue also on github > https://github.com/ipython/ipython/issues/2113 but someone tagged it > as feature request instead bug > > Are you saying that by commenting that line everything works as > expected and it does not affect Notebook in any way? > > > On Fri, Jul 13, 2012 at 9:51 PM, Dmitry Chichkov wrote: >> It looks like broken "Shift-Ins" paste in Notebook is have something to do >> with the following code in the >> IPython/frontend/html/notebook/static/js/notebook.js : >> >> else if (event.which === key.SHIFT) { >> // ignore shift keydown >> return true; >> } >> >> If I'm commenting it out, shift-insert paste starts working again. >> >> It looks like this code was introduced in the following commit 8dc3ac7 - >> "prevented case-sensitive shortcuts if shift was pressed after control key: >> https://github.com/ipython/ipython/commit/8dc3ac7c3961a5486aeb8552d772e7be45c6128f >> >> >> Dmitry >> >> >>> Don't know what OS you run, but FYI Alt-Enter doesn't seem to do >>> anything on Windows in both Firefox and Chrome. >>> >From the user point of view, your suggestion for executing and >>> appending new cell in one shortcut, looks interesting to me >>> >>> While here, I don't want to steal your topic, but as I opened it >>> because you mentioned modifiers, I noticed strange behavior and I'm >>> not sure if it's the way it should be: CUI clipboard commands, which >>> are handy in Notebook environment, behave like this on my PC: >>> >>> - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) >>> - Shift-Del (Cut) - deletes selection (can be easily mistaken that >>> contents is cut to clipboard) >>> - Shift-Ins (Paste) - doesn't paste but triggers Insert >>> >>> so it looks like some changes to Shift modifier has something to do >>> with this unfortunate behavior. >>> >>> >>> On Mon, Jul 2, 2012 at 7:30 PM, Zolt?n V?r?s wrote: >>> > Hi All, >>> > >>> > I know that since the notebook is supported on many platforms and on >>> > many browsers, the intersection of the many sets containing modifiers is >>> > somewhat limited, so I would like to ask, whether something like >>> > Alt+Enter would work on all systems. What I would like to suggest (I can >>> > also implement it, if I am given the go-ahead) is a shortcut for >>> > Shift+Enter + Control-m a. Many a time, I find myself going back to a >>> > piece of code in the middle of the notebook, and after entering a >>> > statement, I would like to get a new code cell at that particular place. >>> > Control+Enter takes me back to the cell, and Shift+Enter jumps to the >>> > next cell. I think, such an addition would be useful, but I don't know >>> > what the allowed modifiers are. >>> > >>> > Any comments or suggestions? >>> > >>> > Cheers, >>> > Zolt?n >>> > _______________________________________________ >>> > IPython-dev mailing list >>> > IPython-dev at scipy.org >>> > http://mail.scipy.org/mailman/listinfo/ipython-dev >> >> >> >> >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> http://mail.scipy.org/mailman/listinfo/ipython-dev >> > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev From carl.input at gmail.com Sat Jul 14 15:27:08 2012 From: carl.input at gmail.com (Carl Smith) Date: Sat, 14 Jul 2012 20:27:08 +0100 Subject: [IPython-dev] [ANN] vIPer is out!!! In-Reply-To: <5001BD2F.8060205@gmail.com> References: <4FFB8C44.5010405@gmail.com> <4FFC1ECE.4070306@gmail.com> <5001BD2F.8060205@gmail.com> Message-ID: Cheers. I'll give it another shot. I keep getting distracted by the Notebook itself. There's so much stuff to play with. On Jul 14, 2012 7:40 PM, "Dami?n Avila" wrote: > Hi Carl, here are my answers: > > El 14/07/12 14:26, Carl Smith escribi?: > > I tried a NotebookCloud instance, but it wouldn't follow the link to > the Notebook server, it just showed 100% in the loading bar. > > If you put notebookcloud.appspot.com/login in the adress bar (Ctrl+A) > you can access to the notebook cloud login (I have to figure out why is not > redirecting to the login page directly from notebook.appspot.com) > > > I then tried it on a local server and it opened up the Notebook no > problems, but when I pressed any of the browser buttons, it just told > me that this tab isn't a notebook, when it was one. I tried entering > a=1 and saving the notebook to see if that worked, but it didn't. > > > Try this: > > Set the --notebook-dir as the vIPer directory. > > or open ipython notebook in the same directory where vIPer and the > notebooks you are working lives. > > Whis this, you will able to convert your notebook. > > You can test the example notebook to replicate the video I posted. > > > > I'll have another go at it later, but wondered if you had any thoughts? > > Cheers for this; it's a good idea, but I just can't get it working yet :/ > > All the best > > Carl > _______________________________________________ > IPython-dev mailing listIPython-dev at scipy.orghttp://mail.scipy.org/mailman/listinfo/ipython-dev > > > I am not at home right now, I hope you can make it work > > Thank you for testing. And let me know any issue. > > Regards. > > Dami?n. > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dchichkov at gmail.com Sat Jul 14 18:20:32 2012 From: dchichkov at gmail.com (Dmitry Chichkov) Date: Sat, 14 Jul 2012 15:20:32 -0700 Subject: [IPython-dev] available modifier keys. Broken Shift-Ins paste. In-Reply-To: References: Message-ID: Yes, actually, one that works for me is 'return false': else if (event.which === key.SHIFT) { // ignore shift keydown return false; } I was trying out 'commenting out' version after I've found that return false worked. And working version was still in the browser cache. Regarding "ctrl+m-shift+" - I don't use it. So, I don't know, if returning false breaks it or not. Dmitry On Sat, Jul 14, 2012 at 11:52 AM, MinRK wrote: > I commented this out, and shift-ins paste still doesn't work for me. > I also don't see how this would be any different, as the same event > will just skip all the following handlers, and return True at the end > of the function (after restoring control_key_active=false, which is > the behavior this is meant to avoid). > > Of course, commenting it out is obviously the wrong answer, as that > necessarily re-breaks the thing that commit fixed > (ctrl+m-shift+). What should the real event be? Should it > return False? > > On Sat, Jul 14, 2012 at 7:03 AM, klo uo wrote: > > Great Dmirty, I already reported the issue also on github > > https://github.com/ipython/ipython/issues/2113 but someone tagged it > > as feature request instead bug > > > > Are you saying that by commenting that line everything works as > > expected and it does not affect Notebook in any way? > > > > > > On Fri, Jul 13, 2012 at 9:51 PM, Dmitry Chichkov > wrote: > >> It looks like broken "Shift-Ins" paste in Notebook is have something to > do > >> with the following code in the > >> IPython/frontend/html/notebook/static/js/notebook.js : > >> > >> else if (event.which === key.SHIFT) { > >> // ignore shift keydown > >> return true; > >> } > >> > >> If I'm commenting it out, shift-insert paste starts working again. > >> > >> It looks like this code was introduced in the following commit 8dc3ac7 - > >> "prevented case-sensitive shortcuts if shift was pressed after control > key: > >> > https://github.com/ipython/ipython/commit/8dc3ac7c3961a5486aeb8552d772e7be45c6128f > >> > >> > >> Dmitry > >> > >> > >>> Don't know what OS you run, but FYI Alt-Enter doesn't seem to do > >>> anything on Windows in both Firefox and Chrome. > >>> >From the user point of view, your suggestion for executing and > >>> appending new cell in one shortcut, looks interesting to me > >>> > >>> While here, I don't want to steal your topic, but as I opened it > >>> because you mentioned modifiers, I noticed strange behavior and I'm > >>> not sure if it's the way it should be: CUI clipboard commands, which > >>> are handy in Notebook environment, behave like this on my PC: > >>> > >>> - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) > >>> - Shift-Del (Cut) - deletes selection (can be easily mistaken that > >>> contents is cut to clipboard) > >>> - Shift-Ins (Paste) - doesn't paste but triggers Insert > >>> > >>> so it looks like some changes to Shift modifier has something to do > >>> with this unfortunate behavior. > >>> > >>> > >>> On Mon, Jul 2, 2012 at 7:30 PM, Zolt?n V?r?s wrote: > >>> > Hi All, > >>> > > >>> > I know that since the notebook is supported on many platforms and on > >>> > many browsers, the intersection of the many sets containing > modifiers is > >>> > somewhat limited, so I would like to ask, whether something like > >>> > Alt+Enter would work on all systems. What I would like to suggest (I > can > >>> > also implement it, if I am given the go-ahead) is a shortcut for > >>> > Shift+Enter + Control-m a. Many a time, I find myself going back to a > >>> > piece of code in the middle of the notebook, and after entering a > >>> > statement, I would like to get a new code cell at that particular > place. > >>> > Control+Enter takes me back to the cell, and Shift+Enter jumps to the > >>> > next cell. I think, such an addition would be useful, but I don't > know > >>> > what the allowed modifiers are. > >>> > > >>> > Any comments or suggestions? > >>> > > >>> > Cheers, > >>> > Zolt?n > >>> > _______________________________________________ > >>> > IPython-dev mailing list > >>> > IPython-dev at scipy.org > >>> > http://mail.scipy.org/mailman/listinfo/ipython-dev > >> > >> > >> > >> > >> _______________________________________________ > >> IPython-dev mailing list > >> IPython-dev at scipy.org > >> http://mail.scipy.org/mailman/listinfo/ipython-dev > >> > > _______________________________________________ > > IPython-dev mailing list > > IPython-dev at scipy.org > > http://mail.scipy.org/mailman/listinfo/ipython-dev > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjaminrk at gmail.com Sat Jul 14 19:02:40 2012 From: benjaminrk at gmail.com (MinRK) Date: Sat, 14 Jul 2012 16:02:40 -0700 Subject: [IPython-dev] available modifier keys. Broken Shift-Ins paste. In-Reply-To: References: Message-ID: On Sat, Jul 14, 2012 at 3:20 PM, Dmitry Chichkov wrote: > Yes, actually, one that works for me is 'return false': > > > else if (event.which === key.SHIFT) { > // ignore shift keydown > return false; > } > > I was trying out 'commenting out' version after I've found that return false > worked. And working version was still in the browser cache. Regarding > "ctrl+m-shift+" - I don't use it. So, I don't know, if returning false > breaks it or not. Okay, thanks. `return false` is fine for the existing case, the only important thing is that it returns without resetting the control_key state, so it sounds like that is the right fix. -MinRK > > Dmitry > > > On Sat, Jul 14, 2012 at 11:52 AM, MinRK wrote: >> >> I commented this out, and shift-ins paste still doesn't work for me. >> I also don't see how this would be any different, as the same event >> will just skip all the following handlers, and return True at the end >> of the function (after restoring control_key_active=false, which is >> the behavior this is meant to avoid). >> >> Of course, commenting it out is obviously the wrong answer, as that >> necessarily re-breaks the thing that commit fixed >> (ctrl+m-shift+). What should the real event be? Should it >> return False? >> >> On Sat, Jul 14, 2012 at 7:03 AM, klo uo wrote: >> > Great Dmirty, I already reported the issue also on github >> > https://github.com/ipython/ipython/issues/2113 but someone tagged it >> > as feature request instead bug >> > >> > Are you saying that by commenting that line everything works as >> > expected and it does not affect Notebook in any way? >> > >> > >> > On Fri, Jul 13, 2012 at 9:51 PM, Dmitry Chichkov >> > wrote: >> >> It looks like broken "Shift-Ins" paste in Notebook is have something to >> >> do >> >> with the following code in the >> >> IPython/frontend/html/notebook/static/js/notebook.js : >> >> >> >> else if (event.which === key.SHIFT) { >> >> // ignore shift keydown >> >> return true; >> >> } >> >> >> >> If I'm commenting it out, shift-insert paste starts working again. >> >> >> >> It looks like this code was introduced in the following commit 8dc3ac7 >> >> - >> >> "prevented case-sensitive shortcuts if shift was pressed after control >> >> key: >> >> >> >> https://github.com/ipython/ipython/commit/8dc3ac7c3961a5486aeb8552d772e7be45c6128f >> >> >> >> >> >> Dmitry >> >> >> >> >> >>> Don't know what OS you run, but FYI Alt-Enter doesn't seem to do >> >>> anything on Windows in both Firefox and Chrome. >> >>> >From the user point of view, your suggestion for executing and >> >>> appending new cell in one shortcut, looks interesting to me >> >>> >> >>> While here, I don't want to steal your topic, but as I opened it >> >>> because you mentioned modifiers, I noticed strange behavior and I'm >> >>> not sure if it's the way it should be: CUI clipboard commands, which >> >>> are handy in Notebook environment, behave like this on my PC: >> >>> >> >>> - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) >> >>> - Shift-Del (Cut) - deletes selection (can be easily mistaken that >> >>> contents is cut to clipboard) >> >>> - Shift-Ins (Paste) - doesn't paste but triggers Insert >> >>> >> >>> so it looks like some changes to Shift modifier has something to do >> >>> with this unfortunate behavior. >> >>> >> >>> >> >>> On Mon, Jul 2, 2012 at 7:30 PM, Zolt?n V?r?s wrote: >> >>> > Hi All, >> >>> > >> >>> > I know that since the notebook is supported on many platforms and on >> >>> > many browsers, the intersection of the many sets containing >> >>> > modifiers is >> >>> > somewhat limited, so I would like to ask, whether something like >> >>> > Alt+Enter would work on all systems. What I would like to suggest (I >> >>> > can >> >>> > also implement it, if I am given the go-ahead) is a shortcut for >> >>> > Shift+Enter + Control-m a. Many a time, I find myself going back to >> >>> > a >> >>> > piece of code in the middle of the notebook, and after entering a >> >>> > statement, I would like to get a new code cell at that particular >> >>> > place. >> >>> > Control+Enter takes me back to the cell, and Shift+Enter jumps to >> >>> > the >> >>> > next cell. I think, such an addition would be useful, but I don't >> >>> > know >> >>> > what the allowed modifiers are. >> >>> > >> >>> > Any comments or suggestions? >> >>> > >> >>> > Cheers, >> >>> > Zolt?n >> >>> > _______________________________________________ >> >>> > IPython-dev mailing list >> >>> > IPython-dev at scipy.org >> >>> > http://mail.scipy.org/mailman/listinfo/ipython-dev >> >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> IPython-dev mailing list >> >> IPython-dev at scipy.org >> >> http://mail.scipy.org/mailman/listinfo/ipython-dev >> >> >> > _______________________________________________ >> > IPython-dev mailing list >> > IPython-dev at scipy.org >> > http://mail.scipy.org/mailman/listinfo/ipython-dev >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> http://mail.scipy.org/mailman/listinfo/ipython-dev > > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > From mirage007 at gmail.com Sun Jul 15 09:58:39 2012 From: mirage007 at gmail.com (Ivan Zhang) Date: Sun, 15 Jul 2012 09:58:39 -0400 Subject: [IPython-dev] using ipkernel to provide access to an application's internals In-Reply-To: References: Message-ID: Hi Dev Team, First i want to say great job on .13 release! I looked into pull 1640 and i feel i can almost get there, but I am still missing some parts. So I set up an application that runs code vial eval/exec calls on a dictionary of variables, so I can conceivably see how I can add in an Ipython embed kernel step in between and send commands to it instead, my initial thought was to have a GUI built on top of this application to replicate a console, but I realized it would probably better if I could just use existing Ipython consoles and just connect to it. It wasn't very obvious to me from the examples how to connect to an embed_kernel from another machine, or process. Can someone point me to the right direction? I.e. say my application is a GUI, and there is a simple text box to type in commands, and I pipe it into an embeded kernel, how do I connect other regular ipython consoles, or qtconsoles to it to check its state? Thanks in advance for your help, -Ivan On Monday, April 23, 2012, Ivan Zhang wrote: > Wow, cool, had no idea this was work in progress, will look into it, > looking forward to it. > > Thanks, > > -i > > On Apr 23, 2012 2:33 AM, "Fernando Perez" > > wrote: > > Hi Ivan, > > > On Fri, Feb 24, 2012 at 6:15 AM, Ivan Zhang > > wrote: > > > > Say I have a typical p... > This capability is almost ready to be merged: > > https://github.com/ipython/ipython/pull/1640 > > should be done in a day or two. > > Cheers, > > f > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org 'IPython-dev at scipy.org');> > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -- Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Sun Jul 15 17:50:41 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Sun, 15 Jul 2012 14:50:41 -0700 Subject: [IPython-dev] Offline... Message-ID: Hi folks, I just wanted to apologize for being offline for a few days and ignoring all discussions. Some complications from a surgery (now fortunately resolved) forced me to go offline. I probably won't catch up quite yet because SciPy'12 is upon us and I have to go to Austin for our tutorial and talk. I know there have been some very important threads on the list lately, I hope to catch up after scipy on that. I will be happy to discuss there face to face with any of you who can make it; I've recovered enough that unless something unexpected happens, I will be at SciPy with only one lost day (Monday). The organizers kindly adjusted the tutorial schedule to take this into account, so our tutorial has been set for Tuesday. Best, f From carl.input at gmail.com Sun Jul 15 18:27:56 2012 From: carl.input at gmail.com (Carl Smith) Date: Sun, 15 Jul 2012 23:27:56 +0100 Subject: [IPython-dev] Offline... In-Reply-To: References: Message-ID: All the best. On Jul 15, 2012 10:51 PM, "Fernando Perez" wrote: > Hi folks, > > I just wanted to apologize for being offline for a few days and > ignoring all discussions. Some complications from a surgery (now > fortunately resolved) forced me to go offline. I probably won't catch > up quite yet because SciPy'12 is upon us and I have to go to Austin > for our tutorial and talk. > > I know there have been some very important threads on the list lately, > I hope to catch up after scipy on that. I will be happy to discuss > there face to face with any of you who can make it; I've recovered > enough that unless something unexpected happens, I will be at SciPy > with only one lost day (Monday). The organizers kindly adjusted the > tutorial schedule to take this into account, so our tutorial has been > set for Tuesday. > > Best, > > f > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dlsun at stanford.edu Mon Jul 16 03:50:32 2012 From: dlsun at stanford.edu (Dennis Sun) Date: Mon, 16 Jul 2012 00:50:32 -0700 Subject: [IPython-dev] tabs for worksheets Message-ID: Hi all, I've spent the past week implementing tabs for worksheets, and I managed to get it up and running, but the code broke as soon as I merged with master (the merge went through without any conflicts). Specifically, I can't type anything into the cells anymore; when I press any key, the cursor disappears. I'm thinking this has something to do with codemirror. The version I was working from was effectively the 0.13 release; is anybody aware of any changes that have been made since that might cause this behavior? I've spent the night troubleshooting and can't seem to figure it out.... Thanks, Dennis -------------- next part -------------- An HTML attachment was scrubbed... URL: From bussonniermatthias at gmail.com Mon Jul 16 08:31:48 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Mon, 16 Jul 2012 14:31:48 +0200 Subject: [IPython-dev] tabs for worksheets In-Reply-To: References: Message-ID: <4AB59948-24FE-4BD0-AA4A-19F078B00DB4@gmail.com> Hi, Le 16 juil. 2012 ? 09:50, Dennis Sun a ?crit : > Hi all, > > I've spent the past week implementing tabs for worksheets, and I managed to get it up and running, but the code broke as soon as I merged with master (the merge went through without any conflicts). Specifically, I can't type anything into the cells anymore; when I press any key, the cursor disappears. I'm thinking this has something to do with code mirror. The only thing that have change in Javascript are a few url that where missing prefix when using password. ``` git diff rel-0.13 -- IPython/frontend/html/notebook/static/js ``` > The version I was working from was effectively the 0.13 release; is anybody aware of any changes that have been made since that might cause this behavior? I've spent the night troubleshooting and can't seem to figure it out.... It would be a little easier if we had some link to your unmerged branch or a diffstat to know which files you changed. You can also use git bisect to see at which point the merge became buggy. -- Matthias From takowl at gmail.com Mon Jul 16 09:10:48 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Mon, 16 Jul 2012 14:10:48 +0100 Subject: [IPython-dev] Python 3.1 no longer supported Message-ID: After the release of IPython 0.13, we have stopped testing on Python 3.1, as we planned. Releases in the near future will probably still work on 3.1, but if you find any problems, we're likely to point you at a newer version of Python. The next release will support Python 2.6, 2.7, 3.2 and probably 3.3 - we're already testing against pre-release versions, and 3.3 final is due out in late August. Thanks, Thomas From damianavila at gmail.com Mon Jul 16 10:52:42 2012 From: damianavila at gmail.com (=?ISO-8859-1?Q?Dami=E1n_Avila?=) Date: Mon, 16 Jul 2012 11:52:42 -0300 Subject: [IPython-dev] Offline... In-Reply-To: References: Message-ID: <50042ABA.8010104@gmail.com> El 15/07/12 18:50, Fernando Perez escribi?: > Hi folks, > > I just wanted to apologize for being offline for a few days and > ignoring all discussions. Some complications from a surgery (now > fortunately resolved) forced me to go offline. I probably won't catch > up quite yet because SciPy'12 is upon us and I have to go to Austin > for our tutorial and talk. > > I know there have been some very important threads on the list lately, > I hope to catch up after scipy on that. I will be happy to discuss > there face to face with any of you who can make it; I've recovered > enough that unless something unexpected happens, I will be at SciPy > with only one lost day (Monday). The organizers kindly adjusted the > tutorial schedule to take this into account, so our tutorial has been > set for Tuesday. > > Best, > > f > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev Fernando, I wish you all the best! Regards. Dami?n From ellisonbg at gmail.com Mon Jul 16 11:51:01 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Mon, 16 Jul 2012 08:51:01 -0700 Subject: [IPython-dev] tabs for worksheets In-Reply-To: References: Message-ID: One thing you have to be aware of is that the refresh method of the CodeMirror instance of each cell has to be called after a cell has been unhidden. This logic should probably be put into a Worksheet.refresh_code_mirror method that calls that for all of the cells. It might be that. Cheers, Brian On Mon, Jul 16, 2012 at 12:50 AM, Dennis Sun wrote: > Hi all, > > I've spent the past week implementing tabs for worksheets, and I managed to > get it up and running, but the code broke as soon as I merged with master > (the merge went through without any conflicts). Specifically, I can't type > anything into the cells anymore; when I press any key, the cursor > disappears. I'm thinking this has something to do with codemirror. > > The version I was working from was effectively the 0.13 release; is anybody > aware of any changes that have been made since that might cause this > behavior? I've spent the night troubleshooting and can't seem to figure it > out.... > > Thanks, > Dennis > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From dlsun at stanford.edu Mon Jul 16 13:26:43 2012 From: dlsun at stanford.edu (Dennis Sun) Date: Mon, 16 Jul 2012 10:26:43 -0700 Subject: [IPython-dev] tabs for worksheets In-Reply-To: References: Message-ID: Thanks for the suggestions -- I'll take a look at them when I get home. I made the mistake of not forking iPython before starting my work (I was just working from a local copy of main iPython repo). But then in order to make a pull request, I forked iPython on my github account and pulled this updated version to my local copy. Then I fumbled around with git for a while before getting to its present state. Anyway, long story short, I don't have a complete copy of my code before the merger anymore, so I have no way to compare the code before and after the merger. (One of these days I will have to learn to use git....) If anyone is brave enough to take a look at the code, it's at http://www.github.com/dlsun/ipython under the "tabs" branch. I would recommend ignoring the individual commits, which are a mess, and just looking at the most recent version. I only changed a couple files in static/js, static/css, and templates. You can even try running the notebook; the tabs should even be working, even if you can't type anything into the cells. I'd really appreciate it if you let me know of any issues that you see. Thanks, Dennis On Mon, Jul 16, 2012 at 8:51 AM, Brian Granger wrote: > One thing you have to be aware of is that the refresh method of the > CodeMirror instance of each cell has to be called after a cell has > been unhidden. This logic should probably be put into a > Worksheet.refresh_code_mirror method that calls that for all of the > cells. It might be that. > > Cheers, > > Brian > > On Mon, Jul 16, 2012 at 12:50 AM, Dennis Sun wrote: > > Hi all, > > > > I've spent the past week implementing tabs for worksheets, and I managed > to > > get it up and running, but the code broke as soon as I merged with master > > (the merge went through without any conflicts). Specifically, I can't > type > > anything into the cells anymore; when I press any key, the cursor > > disappears. I'm thinking this has something to do with codemirror. > > > > The version I was working from was effectively the 0.13 release; is > anybody > > aware of any changes that have been made since that might cause this > > behavior? I've spent the night troubleshooting and can't seem to figure > it > > out.... > > > > Thanks, > > Dennis > > > > _______________________________________________ > > IPython-dev mailing list > > IPython-dev at scipy.org > > http://mail.scipy.org/mailman/listinfo/ipython-dev > > > > > > -- > Brian E. Granger > Cal Poly State University, San Luis Obispo > bgranger at calpoly.edu and ellisonbg at gmail.com > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bussonniermatthias at gmail.com Mon Jul 16 14:00:03 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Mon, 16 Jul 2012 13:00:03 -0500 Subject: [IPython-dev] tabs for worksheets In-Reply-To: References: Message-ID: <821318EC-C949-4FF5-AFC1-E6574A680E2C@gmail.com> Le 16 juil. 2012 ? 12:26, Dennis Sun a ?crit : > Thanks for the suggestions -- I'll take a look at them when I get home. > > I made the mistake of not forking iPython before starting my work (I was just working from a local copy of main iPython repo). But then in order to make a pull request, I forked iPython on my github account and pulled this updated version to my local copy. Then I fumbled around with git for a while before getting to its present state. Anyway, long story short, I don't have a complete copy of my code before the merger anymore, so I have no way to compare the code before and after the merger. (One of these days I will have to learn to use git....) Just in case it appends to you again (and to motivate you to learn git :-) ), You can (almost) alway go to every previous state you where in with `git reflog` which show you where you went through in chronological order. And you can also use things like : git checkout HEAD@{10.minutes.ago} or 2.days.ago etc... even after rebase.... -- Matthias From dchichkov at gmail.com Mon Jul 16 14:53:55 2012 From: dchichkov at gmail.com (Dmitry Chichkov) Date: Mon, 16 Jul 2012 11:53:55 -0700 Subject: [IPython-dev] available modifier keys. Broken Shift-Ins paste. In-Reply-To: References: Message-ID: I really apologize for the confusion. As per MinRK, the actual fix is updating CodeMirror and have nothing to do with the commit. My mistake. I also had an updated version of CodeMirror. And I'd guess browser cache was messing my tests. Dmitry Just in case, here are the steps to fix the issue: ==== Under root: ==== cd ipython-0.13-py2.7.egg/IPython/frontend/html/notebook/static mv codemirror codemirror.orig wget http://codemirror.net/codemirror.zip unzip codemirror.zip mv CodeMirror-2.3 codemirror Update codemirror/mode/python/python.js as per codemirror.orig/README-IPython.rst. (it is a one-line change, add `\\?` to the end of singleOperators definition at line 8 chr 62) ================== On Sat, Jul 14, 2012 at 4:02 PM, MinRK wrote: > On Sat, Jul 14, 2012 at 3:20 PM, Dmitry Chichkov > wrote: > > Yes, actually, one that works for me is 'return false': > > > > > > else if (event.which === key.SHIFT) { > > // ignore shift keydown > > return false; > > } > > > > I was trying out 'commenting out' version after I've found that return > false > > worked. And working version was still in the browser cache. Regarding > > "ctrl+m-shift+" - I don't use it. So, I don't know, if returning > false > > breaks it or not. > > Okay, thanks. `return false` is fine for the existing case, the only > important thing is that it returns without resetting the control_key > state, so it sounds like that is the right fix. > > -MinRK > > > > > Dmitry > > > > > > On Sat, Jul 14, 2012 at 11:52 AM, MinRK wrote: > >> > >> I commented this out, and shift-ins paste still doesn't work for me. > >> I also don't see how this would be any different, as the same event > >> will just skip all the following handlers, and return True at the end > >> of the function (after restoring control_key_active=false, which is > >> the behavior this is meant to avoid). > >> > >> Of course, commenting it out is obviously the wrong answer, as that > >> necessarily re-breaks the thing that commit fixed > >> (ctrl+m-shift+). What should the real event be? Should it > >> return False? > >> > >> On Sat, Jul 14, 2012 at 7:03 AM, klo uo wrote: > >> > Great Dmirty, I already reported the issue also on github > >> > https://github.com/ipython/ipython/issues/2113 but someone tagged it > >> > as feature request instead bug > >> > > >> > Are you saying that by commenting that line everything works as > >> > expected and it does not affect Notebook in any way? > >> > > >> > > >> > On Fri, Jul 13, 2012 at 9:51 PM, Dmitry Chichkov > > >> > wrote: > >> >> It looks like broken "Shift-Ins" paste in Notebook is have something > to > >> >> do > >> >> with the following code in the > >> >> IPython/frontend/html/notebook/static/js/notebook.js : > >> >> > >> >> else if (event.which === key.SHIFT) { > >> >> // ignore shift keydown > >> >> return true; > >> >> } > >> >> > >> >> If I'm commenting it out, shift-insert paste starts working again. > >> >> > >> >> It looks like this code was introduced in the following commit > 8dc3ac7 > >> >> - > >> >> "prevented case-sensitive shortcuts if shift was pressed after > control > >> >> key: > >> >> > >> >> > https://github.com/ipython/ipython/commit/8dc3ac7c3961a5486aeb8552d772e7be45c6128f > >> >> > >> >> > >> >> Dmitry > >> >> > >> >> > >> >>> Don't know what OS you run, but FYI Alt-Enter doesn't seem to do > >> >>> anything on Windows in both Firefox and Chrome. > >> >>> >From the user point of view, your suggestion for executing and > >> >>> appending new cell in one shortcut, looks interesting to me > >> >>> > >> >>> While here, I don't want to steal your topic, but as I opened it > >> >>> because you mentioned modifiers, I noticed strange behavior and I'm > >> >>> not sure if it's the way it should be: CUI clipboard commands, which > >> >>> are handy in Notebook environment, behave like this on my PC: > >> >>> > >> >>> - Ctrl-Ins (Copy) - copies selection to clipboard (as expected) > >> >>> - Shift-Del (Cut) - deletes selection (can be easily mistaken that > >> >>> contents is cut to clipboard) > >> >>> - Shift-Ins (Paste) - doesn't paste but triggers Insert > >> >>> > >> >>> so it looks like some changes to Shift modifier has something to do > >> >>> with this unfortunate behavior. > >> >>> > >> >>> > >> >>> On Mon, Jul 2, 2012 at 7:30 PM, Zolt?n V?r?s > wrote: > >> >>> > Hi All, > >> >>> > > >> >>> > I know that since the notebook is supported on many platforms and > on > >> >>> > many browsers, the intersection of the many sets containing > >> >>> > modifiers is > >> >>> > somewhat limited, so I would like to ask, whether something like > >> >>> > Alt+Enter would work on all systems. What I would like to suggest > (I > >> >>> > can > >> >>> > also implement it, if I am given the go-ahead) is a shortcut for > >> >>> > Shift+Enter + Control-m a. Many a time, I find myself going back > to > >> >>> > a > >> >>> > piece of code in the middle of the notebook, and after entering a > >> >>> > statement, I would like to get a new code cell at that particular > >> >>> > place. > >> >>> > Control+Enter takes me back to the cell, and Shift+Enter jumps to > >> >>> > the > >> >>> > next cell. I think, such an addition would be useful, but I don't > >> >>> > know > >> >>> > what the allowed modifiers are. > >> >>> > > >> >>> > Any comments or suggestions? > >> >>> > > >> >>> > Cheers, > >> >>> > Zolt?n > >> >>> > _______________________________________________ > >> >>> > IPython-dev mailing list > >> >>> > IPython-dev at scipy.org > >> >>> > http://mail.scipy.org/mailman/listinfo/ipython-dev > >> >> > >> >> > >> >> > >> >> > >> >> _______________________________________________ > >> >> IPython-dev mailing list > >> >> IPython-dev at scipy.org > >> >> http://mail.scipy.org/mailman/listinfo/ipython-dev > >> >> > >> > _______________________________________________ > >> > IPython-dev mailing list > >> > IPython-dev at scipy.org > >> > http://mail.scipy.org/mailman/listinfo/ipython-dev > >> _______________________________________________ > >> IPython-dev mailing list > >> IPython-dev at scipy.org > >> http://mail.scipy.org/mailman/listinfo/ipython-dev > > > > > > > > _______________________________________________ > > IPython-dev mailing list > > IPython-dev at scipy.org > > http://mail.scipy.org/mailman/listinfo/ipython-dev > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Tue Jul 17 08:10:17 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 17 Jul 2012 13:10:17 +0100 Subject: [IPython-dev] Fwd: [Broken] ipython/ipython#72 (master - aed0492) In-Reply-To: <5005548fc8af0_28c2152d@1367900d-65d2-4e7b-9a3a-38fc442cc7c2.mail> References: <5005548fc8af0_28c2152d@1367900d-65d2-4e7b-9a3a-38fc442cc7c2.mail> Message-ID: The failure was a timeout error in IPython.parallel - hopefully unrelated to the changes I merged. Thomas ---------- Forwarded message ---------- From: Travis-CI Date: 17 July 2012 13:03 Subject: [Broken] ipython/ipython#72 (master - aed0492) To: "takowl at gmail.com" , "ipython at gmail.com" < ipython at gmail.com> ** The build was broken. Repository ipython/ipython Build #72 http://travis-ci.org/ipython/ipython/builds/1884605 Changeset https://github.com/ipython/ipython/compare/7efca4ef2da8...aed049222da1 Commit aed0492 (master) Message Merge pull request #2140 from bfroehle/2to3_has_key 2to3: Apply `has_key` fixer. Author Thomas Kluyver Duration 5 minutes and 9 seconds You can configure recipients for build notifications in your configuration file . Further documentation about Travis CI can be found here. For help please join our IRC channel irc.freenode.net#travis. We need your help! Travis CI has run 406,714 tests for 5,442 OSS projects to date, including Ruby, Rails, Rubinius, Rubygems, Bundler, Node.js, Leiningen, Symfony ... If you use any of these then you benefit from Travis CI. Please donate so we can make Travis CI even better! cloudControl is PaaS made in Berlin, Germany. Since 2009 we're dedicated to supercharge development by building the best platform possible to help developers build better apps faster. The delivery of this email was kindly sponsored by Postmark, an amazing service for transactional email delivery. See all of our sponsors ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From coutinhotiago at gmail.com Tue Jul 17 10:24:12 2012 From: coutinhotiago at gmail.com (Tiago Coutinho) Date: Tue, 17 Jul 2012 16:24:12 +0200 Subject: [IPython-dev] QtConsole signal handling In-Reply-To: References: Message-ID: On Fri, Jul 13, 2012 at 5:51 PM, Thomas Kluyver wrote: > On 13 July 2012 10:45, Tiago Coutinho wrote: > > I know how to check for pylab mode: > > app = IPython.Application.instance() > > app.pylab == "qt" > > > > ... but how do I find out which is the fronted being used? > > Do you need to? If the difference is only with the inline matplotlib > backend, you can check for that. The terminal can't use the inline > backend, so if the inline backend is in use, it must be a kernel for > an advanced frontend (Qt console, notebook, etc.) > As far as I understand you suggest to check for inline like: app.pylab == "inline" but nothing prevents the user from doing: ipython console --pylab='inline' In this case IPython reports a warning that 'inline' is not available as backend so it will use 'auto' instead **but** if I check app.pylab it still contains "inline" I have also tryed: matplotlib.backends.backend and it says: 'module://IPython.zmq.pylab.backend_inline' so how to properly check for the inline backend? > > Also, remember that the user can start pylab mode after the > application starts via the %pylab magic. I don't know if that's > relevant in your case or not. > I won't support this for the moment in my extension so if the user changes pylab mode, my callback ignores events. Thanks for the advice Many thanks for you answers Regards Tiago -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Tue Jul 17 10:53:13 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 17 Jul 2012 15:53:13 +0100 Subject: [IPython-dev] QtConsole signal handling In-Reply-To: References: Message-ID: On 17 July 2012 15:24, Tiago Coutinho wrote: > but nothing prevents the user from doing: > ipython console --pylab='inline' Nothing prevents it, but there's no reason for them to do so, either. Although I guess it's slightly more plausible if it's set as a config option. Thomas From matthewturk at gmail.com Thu Jul 19 15:48:02 2012 From: matthewturk at gmail.com (Matthew Turk) Date: Thu, 19 Jul 2012 14:48:02 -0500 Subject: [IPython-dev] Notebook webapp and HTML templates Message-ID: Hi all, This week at SciPy, Fernando and Min and I chatted a bit about using the Notebook as to drive the yt ( http://yt-project.org/ ) web GUI. We recently refactored our GUI to be forward-compatible with switching out the execution process, and in such a way that widget commands are API-compatible with the IPython notebook. Refactoring our GUI turned out to be a pretty worthwhile task on the whole, and keeping the idea of switching to IPython was great inspiration. The last time Brian and I exchanged emails about this (on this list) back in March or April, there were basically two items that he identified that would be necessary for us to utilize the full power of the web notebook within our shell (and our domain-specific widgets and so on ...) without having to interfere with IPython internals. 1) Allowing subclassing/extension of the webapp, so that new URL handlers could be added. 2) Templating the HTML with Jinja2, such that either subclassing or including the templates in other chrome could be possible, as described in issue 1585. Min suggested I write and see if these are still on the radar, and if they are, if/how I could pitch in to help out with them. Normally I wouldn't write again so soon after the last exchange and so soon after 0.13 was released -- congratulations! -- but I figured that SciPy 2012 was a good inspiration to check in. :) Thanks, Matt From ellisonbg at gmail.com Thu Jul 19 16:58:47 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Thu, 19 Jul 2012 13:58:47 -0700 Subject: [IPython-dev] Notebook webapp and HTML templates In-Reply-To: References: Message-ID: On Thu, Jul 19, 2012 at 12:48 PM, Matthew Turk wrote: > Hi all, > > This week at SciPy, Fernando and Min and I chatted a bit about using > the Notebook as to drive the yt ( http://yt-project.org/ ) web GUI. > We recently refactored our GUI to be forward-compatible with switching > out the execution process, and in such a way that widget commands are > API-compatible with the IPython notebook. Refactoring our GUI > turned out to be a pretty worthwhile task on the whole, and keeping > the idea of switching to IPython was great inspiration. > > The last time Brian and I exchanged emails about this (on this list) > back in March or April, there were basically two items that he > identified that would be necessary for us to utilize the full power of > the web notebook within our shell (and our domain-specific widgets and > so on ...) without having to interfere with IPython internals. > > 1) Allowing subclassing/extension of the webapp, so that new URL > handlers could be added. > 2) Templating the HTML with Jinja2, such that either subclassing or > including the templates in other chrome could be possible, as > described in issue 1585. On the radar, but no progress yet... Cheers, Brian > Min suggested I write and see if these are still on the radar, and if > they are, if/how I could pitch in to help out with them. Normally I > wouldn't write again so soon after the last exchange and so soon after > 0.13 was released -- congratulations! -- but I figured that SciPy 2012 > was a good inspiration to check in. :) > > Thanks, > > Matt > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From fperez.net at gmail.com Fri Jul 20 08:48:55 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 20 Jul 2012 05:48:55 -0700 Subject: [IPython-dev] Fwd: [Broken] ipython/ipython#72 (master - aed0492) In-Reply-To: References: <5005548fc8af0_28c2152d@1367900d-65d2-4e7b-9a3a-38fc442cc7c2.mail> Message-ID: probably just a random one from their systems being under load... On Tue, Jul 17, 2012 at 5:10 AM, Thomas Kluyver wrote: > The failure was a timeout error in IPython.parallel - hopefully unrelated > to the changes I merged. -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Fri Jul 20 09:35:47 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Fri, 20 Jul 2012 06:35:47 -0700 Subject: [IPython-dev] Octave Magic In-Reply-To: References: Message-ID: On Thu, Jul 12, 2012 at 9:29 PM, Steven Silvester wrote: > As of version 0.3.1, I use scipy.io instead of h5py for file transfer, > if you would like to update your docs. Great! noted: https://github.com/ipython/ipython/issues/2173 > > Congratulations and keep up the great work. Well, thanks for making that part possible by providing oct2py :) Cheers, f From jason-sage at creativetrax.com Fri Jul 20 23:45:39 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Fri, 20 Jul 2012 22:45:39 -0500 Subject: [IPython-dev] disabling history Message-ID: <500A25E3.7070202@creativetrax.com> In our Sage Cell server [1], we'd like to disable the IPython history (since it arguably doesn't make much sense there anyway; only a single cell is executing, after all, so we don't want the extra disk writes or time it takes to deal with a history). However, we need commands executed with silent=False because we need to see output, etc. I can see several ways of doing this (below). Can I get some comments about which way is the most IPythonic? 1. applying a small patch which decouples the silent and store_history attributes [2], and then in every kernel execute message set store_history to False and silent to False. I don't like this because it leaves the history storing in the (potentially untrusted) user's hands, and it takes up bandwidth where it really should be a server-wide configuration. 2. Set the history file to ':memory:', like in parallel/engine/engine.py. I suppose this doesn't actually eliminate the history, but it does eliminate the disk writes, and makes the history go away as soon as the process is done, right? 3. It would be great if I could, instead of (2), just set the history db to the DummyDB class in the core/history file. But since sqlite3 exists in Sage's python, that looks like it would take a patch somewhere. Comments? Thanks, Jason [1] We just announced our beta of the new cell server, version 2, this time fully based on IPython 0.13 (plus some very small patches, like part of gh-2051). You can test it out here: aleph2.sagemath.org. We use SockJS to do the websocket/fallback connections, and it seems to work quite well. We hope to clean up and contribute back our ForkingKernelManager and various other classes that you may want sometime before the end of the year. [2] https://gist.github.com/3154504 From benjaminrk at gmail.com Sat Jul 21 00:56:07 2012 From: benjaminrk at gmail.com (MinRK) Date: Fri, 20 Jul 2012 23:56:07 -0500 Subject: [IPython-dev] disabling history In-Reply-To: <500A25E3.7070202@creativetrax.com> References: <500A25E3.7070202@creativetrax.com> Message-ID: On Fri, Jul 20, 2012 at 10:45 PM, Jason Grout wrote: > In our Sage Cell server [1], we'd like to disable the IPython history > (since it arguably doesn't make much sense there anyway; only a single > cell is executing, after all, so we don't want the extra disk writes or > time it takes to deal with a history). However, we need commands > executed with silent=False because we need to see output, etc. > > I can see several ways of doing this (below). Can I get some comments > about which way is the most IPythonic? > > 1. applying a small patch which decouples the silent and store_history > attributes [2], and then in every kernel execute message set > store_history to False and silent to False. I don't like this because > it leaves the history storing in the (potentially untrusted) user's > hands, and it takes up bandwidth where it really should be a server-wide > configuration. > I think it makes good sense for store_history and silent to be separate keys in the execute_request. For that matter, execute_request keys should probably match directly to args in run_cell, since it really is an RPC message. > > 2. Set the history file to ':memory:', like in > parallel/engine/engine.py. I suppose this doesn't actually eliminate > the history, but it does eliminate the disk writes, and makes the > history go away as soon as the process is done, right? > Correct - this is the easiest way to do it with no changes - with disk involvement at all. You can do this one for now, while we get 1. and/or 2. into IPython itself. > > 3. It would be great if I could, instead of (2), just set the history db > to the DummyDB class in the core/history file. But since sqlite3 exists > in Sage's python, that looks like it would take a patch somewhere. > I think this also might make sense, though there aren't significant advantages to using DummyDB over regular history with :memory:. > Comments? > > Thanks, > > Jason > > [1] We just announced our beta of the new cell server, version 2, this > time fully based on IPython 0.13 (plus some very small patches, like > part of gh-2051). You can test it out here: aleph2.sagemath.org. We > use SockJS to do the websocket/fallback connections, and it seems to > work quite well. We hope to clean up and contribute back our > ForkingKernelManager and various other classes that you may want > sometime before the end of the year. > Very cool! I look forward to some pull requests. If the SockJS stuff is clean, we may well want that in IPython itself as well, because websockets can still be a headache. -MinRK > > [2] https://gist.github.com/3154504 > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jason-sage at creativetrax.com Sat Jul 21 10:47:33 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Sat, 21 Jul 2012 09:47:33 -0500 Subject: [IPython-dev] disabling history In-Reply-To: References: <500A25E3.7070202@creativetrax.com> Message-ID: <500AC105.3050409@creativetrax.com> On 7/20/12 11:56 PM, MinRK wrote: > > I think this also might make sense, though there aren't significant > advantages to using DummyDB over regular history with :memory:. I was poking through the code a bit more, and found that the parallel/controller directory implements a number of very nice database backends for storing a history. I know the controller architecture is at a higher level than the interactiveshell history, but I'm curious how you see the future of the history logging in the shell and the history logging in the cluster controller. Is history stored twice? Is there a chance the nice db backends in the controller class could be somehow used by the interactiveshell? Thanks, Jason From jason-sage at creativetrax.com Sat Jul 21 11:11:36 2012 From: jason-sage at creativetrax.com (Jason Grout) Date: Sat, 21 Jul 2012 10:11:36 -0500 Subject: [IPython-dev] disabling history In-Reply-To: References: <500A25E3.7070202@creativetrax.com> Message-ID: <500AC6A8.5060704@creativetrax.com> On 7/20/12 11:56 PM, MinRK wrote: > I think it makes good sense for store_history and silent to be separate > keys in the execute_request. I submitted a pull request: https://github.com/ipython/ipython/pull/2184 Thanks, Jason From fperez.net at gmail.com Mon Jul 23 23:33:00 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 23 Jul 2012 20:33:00 -0700 Subject: [IPython-dev] A belated welcome to Bradley Froehle to the core team. Message-ID: Hi all, those of you who follow the git repo closely will have likely noticed over the past few months a steady stream of high-quality contributions from one @bfroehle on github. Though the actual change was already a few days ago, I'm pleased today to welcome Brad Froehle to our core team! The Berkeley-based contingent in IPython continues to grow... Cheers, f From mhansen at gmail.com Mon Jul 23 23:52:44 2012 From: mhansen at gmail.com (Mike Hansen) Date: Mon, 23 Jul 2012 17:52:44 -1000 Subject: [IPython-dev] A belated welcome to Bradley Froehle to the core team. In-Reply-To: References: Message-ID: On Mon, Jul 23, 2012 at 5:33 PM, Fernando Perez wrote: > those of you who follow the git repo closely will have likely noticed > over the past few months a steady stream of high-quality contributions > from one @bfroehle on github. Though the actual change was already a > few days ago, I'm pleased today to welcome Brad Froehle to our core > team! The Berkeley-based contingent in IPython continues to grow... Congrats Brad! --Mike From ellisonbg at gmail.com Tue Jul 24 00:26:08 2012 From: ellisonbg at gmail.com (Brian Granger) Date: Mon, 23 Jul 2012 21:26:08 -0700 Subject: [IPython-dev] A belated welcome to Bradley Froehle to the core team. In-Reply-To: References: Message-ID: Welcome Brad! On Mon, Jul 23, 2012 at 8:33 PM, Fernando Perez wrote: > Hi all, > > those of you who follow the git repo closely will have likely noticed > over the past few months a steady stream of high-quality contributions > from one @bfroehle on github. Though the actual change was already a > few days ago, I'm pleased today to welcome Brad Froehle to our core > team! The Berkeley-based contingent in IPython continues to grow... > > Cheers, > > f > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev -- Brian E. Granger Cal Poly State University, San Luis Obispo bgranger at calpoly.edu and ellisonbg at gmail.com From fperez.net at gmail.com Tue Jul 24 02:21:55 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 23 Jul 2012 23:21:55 -0700 Subject: [IPython-dev] using ipkernel to provide access to an application's internals In-Reply-To: References: Message-ID: On Sun, Jul 15, 2012 at 6:58 AM, Ivan Zhang wrote: > I.e. say my application is a GUI, and there is a simple text box to type in > commands, and I pipe it into an embeded kernel, how do I connect other > regular ipython consoles, or qtconsoles to it to check its state? You may want to look at these examples: https://github.com/ipython/ipython/blob/master/docs/examples/lib/internal_ipkernel.py https://github.com/ipython/ipython/blob/master/docs/examples/lib/ipkernel_qtapp.py which basically do what you are asking. Cheers, f From fperez.net at gmail.com Tue Jul 24 02:29:16 2012 From: fperez.net at gmail.com (Fernando Perez) Date: Mon, 23 Jul 2012 23:29:16 -0700 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: Hi Matt, On Wed, Jul 11, 2012 at 12:58 PM, Matt Anderson wrote: > We have an application which embeds an IPython shell for occasional use (the > program?s normal operation uses a standard library cmd.Cmd subclass, and > ipython can be invoked as a do-command from that). We?ve been using IPython > v0.10.2 for well over a year, and I?m currently evaluating upgrading to the > newest release, IPython v0.13. I wanted to relate some issues I?ve > encountered, and ask a question or two. I just wanted to say that we're not deliberately ignoring your post, despite appearances to the contrary :) You caught us at the worst possible time, as we were leaving for the SciPy'12 conference, and now we're just getting plugged back in. You ask a number of fairly detailed questions that will need a bit of work on our part to answer, but I hope we'll be able to help you out in the next few days. This is the most detailed migration question I've seen for a 0.10-> current embedding use case, and it's great that you wrote this careful report. We'll do our best to work on these issues one by one, and it's quite possible that you've found areas where things aren't quite where they should be, since nobody had really gone through the embedding machinery that thoroughly. This means that quite possibly working with you will lead only to solutions for the 0.14 timeframe, but if that's OK with your team, we can make sure that the embedding machinery really shapes up again for production use. Devs, if any of you has any bandwidth to tackle even some of these questions, all help is welcome! Cheers, f From takowl at gmail.com Tue Jul 24 05:04:37 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 24 Jul 2012 10:04:37 +0100 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On 11 July 2012 20:58, Matt Anderson wrote: > Several bigger issues I encountered revolve around threading. Our > application can run headless, and the cmd.Cmd shell (when active) does not > run in the main thread. The current version of IPython installs at-exit > handlers when a shell is created or starts up, including functionality to > close/save the history session when the program exits. An exception gets > thrown during the exit process though: ?ProgrammingError: SQLite objects > created in a thread can only be used in that same thread.? The ipython shell > created the sqlite db object in the cmd.Cmd?s thread, and the at-exit > handlers always (or at least in most cases / our case) run in the main > thread. Good question, but I don't think I have a good answer. I didn't think about running IPython in a secondary thread. > I understand that there is a workaround to open a sqlite3 connection in a > way that suppresses this behavior, but IPython doesn?t open the connection > in that way by default, and doesn?t seem to provide a hook to do this short > of subclassing the TerminalInteractiveClass or the InteractiveShellEmbed > class and writing one?s own init_history() method, and further subclassing > the HistoryManager and overriding its init_db() method. Yes, we've come across the flag before, but it is undocumented (last time I checked), so we're wary of using it in case it has some major drawback. Thanks, Thomas From manderso at broadcom.com Tue Jul 24 10:36:26 2012 From: manderso at broadcom.com (Matt Anderson) Date: Tue, 24 Jul 2012 14:36:26 +0000 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: , Message-ID: The flag may still be undocumented, and in my reading it does seem dangerous to actually, concurrently, use the sqlite3 db object in multiple threads (I believe a stackoverflow Q/A thread discussed some form of database corruption). However, in the case of the originating thread having having exited and the main thread running the at-exit handlers, I believe that it would probably be safe. I totally agree that given an undocumented, possibly dangerous, sqlite3 feature, IPython should not use this argument by default when opening data base connections. However, it would be really useful, in cases like mine, to enable this type of database connection by configuration, rather than needing to do multiple subclassings and re-writing of core functions. I don't know how stable the APIs of the ipython shell or the HistoryManager are, but if they're not totally stable, subclassing in the way that would be necessary doesn't seem *much* safer than monkey patching the IPython.core.history module. Alternatively, maybe there is some other way to shut down the database connection, at thread shutdown time instead of at program shutdown time? Either automatically (by a per-thread equivalent of the program-wide at-exit system, if such a thing does or could exist). Or maybe by hook (ie, a way to turn the at-exit registration off, and provide some method on the interactive shell that could be called in the that would shut down the database connection safely from the correct thread, delegating responsibility to the programmer embedding the shell to do the shutdown correctly). Or possibly, at the end of the interactive shell REPL loop, just before control is passed back to the main program (in the case of the embedded shell)? Just a couple of thoughts. Thanks, Matt ________________________________________ From: ipython-dev-bounces at scipy.org [ipython-dev-bounces at scipy.org] on behalf of Thomas Kluyver [takowl at gmail.com] Sent: Tuesday, July 24, 2012 4:04 AM To: IPython developers list Subject: Re: [IPython-dev] migration issues, embedding latest IPython in another application On 11 July 2012 20:58, Matt Anderson wrote: > Several bigger issues I encountered revolve around threading. Our > application can run headless, and the cmd.Cmd shell (when active) does not > run in the main thread. The current version of IPython installs at-exit > handlers when a shell is created or starts up, including functionality to > close/save the history session when the program exits. An exception gets > thrown during the exit process though: ?ProgrammingError: SQLite objects > created in a thread can only be used in that same thread.? The ipython shell > created the sqlite db object in the cmd.Cmd?s thread, and the at-exit > handlers always (or at least in most cases / our case) run in the main > thread. Good question, but I don't think I have a good answer. I didn't think about running IPython in a secondary thread. > I understand that there is a workaround to open a sqlite3 connection in a > way that suppresses this behavior, but IPython doesn?t open the connection > in that way by default, and doesn?t seem to provide a hook to do this short > of subclassing the TerminalInteractiveClass or the InteractiveShellEmbed > class and writing one?s own init_history() method, and further subclassing > the HistoryManager and overriding its init_db() method. Yes, we've come across the flag before, but it is undocumented (last time I checked), so we're wary of using it in case it has some major drawback. Thanks, Thomas _______________________________________________ IPython-dev mailing list IPython-dev at scipy.org http://mail.scipy.org/mailman/listinfo/ipython-dev From takowl at gmail.com Tue Jul 24 11:05:26 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 24 Jul 2012 16:05:26 +0100 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On 24 July 2012 15:36, Matt Anderson wrote: > However, it would be really useful, in cases like mine, to enable this type of database connection by configuration, rather than needing to do multiple subclassings and re-writing of core functions. I'm not sure that I'd expose it through the actual config system, but perhaps a class attribute that your application can override. If you want to prepare a pull request with this, I think it would get consideration. > Alternatively, maybe there is some other way to shut down the database connection, at thread shutdown time instead of at program shutdown time? Either automatically (by a per-thread equivalent of the program-wide at-exit system, if such a thing does or could exist). I don't know of any per-thread equivalent to atexit. > Or maybe by hook (ie, a way to turn the at-exit registration off, and provide some method on the interactive shell that could be called in the that would shut down the database connection safely from the correct thread, delegating responsibility to the programmer embedding the shell to do the shutdown correctly). That sounds more feasible. > Or possibly, at the end of the interactive shell REPL loop, just before control is passed back to the main program (in the case of the embedded shell)? Possible but tricky. An embedding program can have a shell object that it reuses, so control passes back and forth between the shell and the embedding application. The database connection should last while the shell does, but as I understand it, __del__ methods are not reliably called when the interpreter is shutting down. Thanks, Thomas From manderso at broadcom.com Tue Jul 24 12:15:34 2012 From: manderso at broadcom.com (Matt Anderson) Date: Tue, 24 Jul 2012 16:15:34 +0000 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On Tuesday, July 24, 2012 10:05 AM Thomas Kluyver wrote: > > Or possibly, at the end of the interactive shell REPL loop, just > > before control is passed back to the main program (in the case of the > > embedded shell)? > > Possible but tricky. An embedding program can have a shell object that > it reuses, so control passes back and forth between the shell and the > embedding application. The database connection should last while the > shell does, but as I understand it, __del__ methods are not reliably > called when the interpreter is shutting down. It is the calling of self.history_manager.end_session(), I think, during the atexit machinery that is causing the problem. Could a new session start and the existing session end every time that control passes to, and then back from, an embedded IPython shell? The db object could persist, but the sessions would come and go as control alternated? If no, would it really be problematic if the db object was not reused? Could the history machinery totally shutdown and start back up as needed? Switching control to and from an embedded shell happens infrequently at most (it is on the timescale of human-computer interaction); would the startup time for creating a new history database connection and its setup be noticeable from the user's perspective? Or is there some other reason that reusing the db object is desirable (apart from avoiding the time inefficiency of making a new db object several times rather than using the same one repeatedly)? Thanks, Matt From takowl at gmail.com Tue Jul 24 12:35:29 2012 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 24 Jul 2012 17:35:29 +0100 Subject: [IPython-dev] migration issues, embedding latest IPython in another application In-Reply-To: References: Message-ID: On 24 July 2012 17:15, Matt Anderson wrote: > Could a new session start and the existing session end every time that control passes to, and then back from, an embedded IPython shell? The db object could persist, but the sessions would come and go as control alternated? It could, but it's starting to sound like significant extra complexity for a rather unusual use case (embedding in a secondary thread). My inclination is to have a way to disable the atexit hook, and let the embedding application take care of calling end_session() in the correct thread. I think the main HistoryManager interface hasn't changed much since the big refactoring for 0.11, so hopefully we won't be breaking your application with every new release. Thomas From dinov at microsoft.com Tue Jul 24 12:59:03 2012 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 24 Jul 2012 16:59:03 +0000 Subject: [IPython-dev] Breaking change to KernelManager.start_kernel? Message-ID: <6757ED2748BC0A43B9F3E4DA32D65AB00B8716E2@CH1PRD0310MB357.namprd03.prod.outlook.com> KernelManager.start_kernel used to take a ipython keyword argument, but it seems that this has disappeared at some point in favor of the launcher argument. Looking at the code it seems like if I don't pass this on .11 (and .12 too maybe?) then I'll get the pykernel launcher and on .13 I can just pass nothing and get the ipkernel. It seems like the best option to support multiple versions is to check IPython.__version__ and just make the appropriate option. Anyone else have any other ideas or suggestions? -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjaminrk at gmail.com Tue Jul 24 13:11:15 2012 From: benjaminrk at gmail.com (MinRK) Date: Tue, 24 Jul 2012 10:11:15 -0700 Subject: [IPython-dev] Breaking change to KernelManager.start_kernel? In-Reply-To: <6757ED2748BC0A43B9F3E4DA32D65AB00B8716E2@CH1PRD0310MB357.namprd03.prod.outlook.com> References: <6757ED2748BC0A43B9F3E4DA32D65AB00B8716E2@CH1PRD0310MB357.namprd03.prod.outlook.com> Message-ID: On Tue, Jul 24, 2012 at 9:59 AM, Dino Viehland wrote: > KernelManager.start_kernel used to take a ipython keyword argument, but it > seems that this has disappeared at some point in favor of the launcher > argument. > > > > Looking at the code it seems like if I don?t pass this on .11 (and .12 too > maybe?) then I?ll get the pykernel launcher and on .13 I can just pass > nothing and get the ipkernel. It seems like the best option to support > multiple versions is to check IPython.__version__ and just make the > appropriate option. Anyone else have any other ideas or suggestions? The version check is probably the best option. The pykernel entry point has been removed, as it was ~entirely duplicate, unused, untested, and largely broken, and not worth supporting. We can restore the ipython kwarg as ignored/deprecated in 0.13.1, but that doesn't help with 0.13. > > > > > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > From dinov at microsoft.com Tue Jul 24 18:13:18 2012 From: dinov at microsoft.com (Dino Viehland) Date: Tue, 24 Jul 2012 22:13:18 +0000 Subject: [IPython-dev] Breaking change to KernelManager.start_kernel? In-Reply-To: References: <6757ED2748BC0A43B9F3E4DA32D65AB00B8716E2@CH1PRD0310MB357.namprd03.prod.outlook.com> Message-ID: <6757ED2748BC0A43B9F3E4DA32D65AB00B871EA0@CH1PRD0310MB357.namprd03.prod.outlook.com> Min wrote: > > Looking at the code it seems like if I don?t pass this on .11 (and .12 > > too > > maybe?) then I?ll get the pykernel launcher and on .13 I can just pass > > nothing and get the ipkernel. It seems like the best option to > > support multiple versions is to check IPython.__version__ and just > > make the appropriate option. Anyone else have any other ideas or > suggestions? > > The version check is probably the best option. The pykernel entry point has > been removed, as it was ~entirely duplicate, unused, untested, and largely > broken, and not worth supporting. > > We can restore the ipython kwarg as ignored/deprecated in 0.13.1, but that > doesn't help with 0.13. Yeah, that's not necessary just for us as we'll want to make sure it works w/ all the versions, but it could help others. Thanks, I'll go w/ the version check. From dpquigl at davequigley.com Wed Jul 25 13:40:40 2012 From: dpquigl at davequigley.com (David Quigley) Date: Wed, 25 Jul 2012 13:40:40 -0400 Subject: [IPython-dev] Magics that multiplex Message-ID: <35054a1b6aebd235b087b2022d9cb522@countercultured.net> I'm working on implementing a magic that multiplexes its behavior based on the first token of the line after the magic. An example of a tool which would do something like this is semanage or ip which based on the second token ( port, login, fcontext, etc...) Behaves differently. I'm doing it this way because these commands really belong to the same component and are generic enough in name that they will appear again. For example I want to have server start, server stop, server status be magic commands. Is there functionality to do this already in the magics subsystem? I looked at the parse_options code in Magics and it doesn't seem to handle that kind of usecase (although I'd be glad to be proven wrong). Alternatively I've used argparse in the past with subparsers to do just that. argparse.ArgumentParser can have subparsers added to it to then process arguments based on the second token in the line. Is there anything incorrect about using an option parser that isn't Magics.parse_options? Is there an already existing way to do this? I'm using the rel-0.13 tag from git but can use -dev if necessary. Dave From benjaminrk at gmail.com Wed Jul 25 13:51:02 2012 From: benjaminrk at gmail.com (MinRK) Date: Wed, 25 Jul 2012 10:51:02 -0700 Subject: [IPython-dev] Magics that multiplex In-Reply-To: <35054a1b6aebd235b087b2022d9cb522@countercultured.net> References: <35054a1b6aebd235b087b2022d9cb522@countercultured.net> Message-ID: On Wed, Jul 25, 2012 at 10:40 AM, David Quigley wrote: > I'm working on implementing a magic that multiplexes its behavior based > on the first token of the line after the magic. An example of a tool > which would do something like this is semanage or ip which based on the > second token ( port, login, fcontext, etc...) Behaves differently. I'm > doing it this way because these commands really belong to the same > component and are generic enough in name that they will appear again. > For example I want to have server start, server stop, server status be > magic commands. Is there functionality to do this already in the magics > subsystem? I looked at the parse_options code in Magics and it doesn't > seem to handle that kind of usecase (although I'd be glad to be proven > wrong). Alternatively I've used argparse in the past with subparsers to > do just that. argparse.ArgumentParser can have subparsers added to it to > then process arguments based on the second token in the line. Is there > anything incorrect about using an option parser that isn't > Magics.parse_options? There's definitely nothing wrong with using your own parsing if you have a reason to - the magic API is that you get a line (or line and cell), and you do something with that. No further restrictions. > Is there an already existing way to do this? I'm > using the rel-0.13 tag from git but can use -dev if necessary. > I don't *think* we have any library code to make subcommands easier, so I think you are probably on the right path using ArgumentParser with subparsers. > > Dave > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mirage007 at gmail.com Wed Jul 25 14:07:58 2012 From: mirage007 at gmail.com (Ivan Zhang) Date: Wed, 25 Jul 2012 14:07:58 -0400 Subject: [IPython-dev] Autocomplete fails when kernel namespace is updated Message-ID: Hi, I'm running a simple script to feed a custom namespace into a kernel. Everything works fine except autocomplete. ------------- Kernel = IPKernelApp.instance() Kernel.initialize(['python', '--pylab=qt']) Namespace = {'abcdef': 123} Namespace.update(Kernel.shell.user_ns) Kernel.shell.user_ns = Namespace Kernel.start() ---------- If I connect a console via: Ipython console --existing Tab complete doesn't show for variable abcdef However when evaluating it, it does show up, it also shows up when using %who I'm using Ipython .13 and python 2.7 Any ideas? -Ivan -- Ivan -------------- next part -------------- An HTML attachment was scrubbed... URL: From brad.froehle at gmail.com Wed Jul 25 14:12:42 2012 From: brad.froehle at gmail.com (Bradley M. Froehle) Date: Wed, 25 Jul 2012 11:12:42 -0700 Subject: [IPython-dev] Autocomplete fails when kernel namespace is updated In-Reply-To: References: Message-ID: Add Kernel.shell.set_completer_frame() right before the call to Kernel.start(). On Wed, Jul 25, 2012 at 11:07 AM, Ivan Zhang wrote: > Hi, > > I'm running a simple script to feed a custom namespace into a kernel. > Everything works fine except autocomplete. > ------------- > Kernel = IPKernelApp.instance() > Kernel.initialize(['python', '--pylab=qt']) > Namespace = {'abcdef': 123} > Namespace.update(Kernel.shell.user_ns) > Kernel.shell.user_ns = Namespace > Kernel.start() > ---------- > > If I connect a console via: > Ipython console --existing > > Tab complete doesn't show for variable abcdef > However when evaluating it, it does show up, it also shows up when using > %who > I'm using Ipython .13 and python 2.7 > > Any ideas? > > -Ivan > > > -- > Ivan > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > From nicolas.chauvat at logilab.fr Wed Jul 25 14:36:19 2012 From: nicolas.chauvat at logilab.fr (Nicolas Chauvat) Date: Wed, 25 Jul 2012 20:36:19 +0200 Subject: [IPython-dev] Magics that multiplex In-Reply-To: References: <35054a1b6aebd235b087b2022d9cb522@countercultured.net> Message-ID: <20120725183619.GD5655@volans.logilab.fr> Hi, On Wed, Jul 25, 2012 at 10:51:02AM -0700, MinRK wrote: > > Is there an already existing way to do this? I'm > > using the rel-0.13 tag from git but can use -dev if necessary. > > I don't *think* we have any library code to make subcommands easier, so I > think you are probably on the right path using ArgumentParser with > subparsers. You may want to look at http://hg.logilab.org/logilab/common/file/8724116a446a/clcommands.py if you need inspiration. -- Nicolas Chauvat logilab.fr - services en informatique scientifique et gestion de connaissances From dlsun at stanford.edu Thu Jul 26 01:37:57 2012 From: dlsun at stanford.edu (Dennis Sun) Date: Wed, 25 Jul 2012 22:37:57 -0700 Subject: [IPython-dev] worksheet tabs almost ready Message-ID: Hi everyone, I managed to debug my implementation of tabs for the notebook. It turns out that refreshing the code mirror upon switching tabs fixed most of the issues I was having. You can check it out at http://github.com/dlsun/ipythonunder the branch "tabs". It hasn't been extensively tested, but it's working as far as I can tell (except for one bug, below). I plan to file a pull request soon, but there is still one major bug that I'm aware of: weird things happen when you try to do anything with the tabs in a brand new notebook. (It's hard to describe; you'd have to see it to understand.) These problems disappear if you just refresh the page just once (even without saving), so it seems that iPython is doing something differently for new notebooks than for existing ones. I was hoping that someone here might have a clue as to what this might be which is interfering with the tabs. Thanks, Dennis -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjaminrk at gmail.com Thu Jul 26 01:41:59 2012 From: benjaminrk at gmail.com (MinRK) Date: Wed, 25 Jul 2012 22:41:59 -0700 Subject: [IPython-dev] worksheet tabs almost ready In-Reply-To: References: Message-ID: On Wed, Jul 25, 2012 at 10:37 PM, Dennis Sun wrote: > Hi everyone, > > I managed to debug my implementation of tabs for the notebook. It turns > out that refreshing the code mirror upon switching tabs fixed most of the > issues I was having. You can check it out at > http://github.com/dlsun/ipython under the branch "tabs". It hasn't been > extensively tested, but it's working as far as I can tell (except for one > bug, below). > > I plan to file a pull request soon, but there is still one major bug that > I'm aware of: weird things happen when you try to do anything with the tabs > in a brand new notebook. (It's hard to describe; you'd have to see it to > understand.) These problems disappear if you just refresh the page just > once (even without saving), so it seems that iPython is doing something > differently for new notebooks than for existing ones. I was hoping that > someone here might have a clue as to what this might be which is > interfering with the tabs. > There's no need to wait on the PR - you can open a PR as soon as you have something worth looking at or talking about, and keep updating the branch until it's done. Excited to check this out! -MinRK > > Thanks, > Dennis > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dlsun at stanford.edu Thu Jul 26 01:55:26 2012 From: dlsun at stanford.edu (Dennis Sun) Date: Wed, 25 Jul 2012 22:55:26 -0700 Subject: [IPython-dev] worksheet tabs almost ready In-Reply-To: References: Message-ID: Done! https://github.com/ipython/ipython/pull/2206/ On Wed, Jul 25, 2012 at 10:41 PM, MinRK wrote: > > > On Wed, Jul 25, 2012 at 10:37 PM, Dennis Sun wrote: > >> Hi everyone, >> >> I managed to debug my implementation of tabs for the notebook. It turns >> out that refreshing the code mirror upon switching tabs fixed most of the >> issues I was having. You can check it out at >> http://github.com/dlsun/ipython under the branch "tabs". It hasn't been >> extensively tested, but it's working as far as I can tell (except for one >> bug, below). >> >> I plan to file a pull request soon, but there is still one major bug that >> I'm aware of: weird things happen when you try to do anything with the tabs >> in a brand new notebook. (It's hard to describe; you'd have to see it to >> understand.) These problems disappear if you just refresh the page just >> once (even without saving), so it seems that iPython is doing something >> differently for new notebooks than for existing ones. I was hoping that >> someone here might have a clue as to what this might be which is >> interfering with the tabs. >> > > There's no need to wait on the PR - you can open a PR as soon as you have > something worth looking at or talking about, and keep updating the branch > until it's done. > > Excited to check this out! > -MinRK > > >> >> Thanks, >> Dennis >> >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> http://mail.scipy.org/mailman/listinfo/ipython-dev >> >> > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > http://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dchichkov at gmail.com Fri Jul 27 16:45:23 2012 From: dchichkov at gmail.com (Dmitry Chichkov) Date: Fri, 27 Jul 2012 13:45:23 -0700 Subject: [IPython-dev] Notebook, go back to a previous run, or run history support? Message-ID: Is there a clone available that stores runs history and/or allows to go back and forward between the runs? It'd be interesting to try notebook with: * enabled browser history (back button takes you to a previous run); * enabled git integration (every run stores a new version + some interface to flick between the versions); I'm not sure, if it would be an improvement or not. But the only way to know it for certain is to try it. If there's no clones available that already implement this, I'm gonna try hacking such run history support over the weekend. I'm not familiar with the codebase, so any pointers to the way of least resistance would be greatly appreciated. Thanks, Dmitry -------------- next part -------------- An HTML attachment was scrubbed... URL: From bussonniermatthias at gmail.com Fri Jul 27 17:22:56 2012 From: bussonniermatthias at gmail.com (Matthias BUSSONNIER) Date: Fri, 27 Jul 2012 23:22:56 +0200 Subject: [IPython-dev] Notebook, go back to a previous run, or run history support? In-Reply-To: References: Message-ID: Le 27 juil. 2012 ? 22:45, Dmitry Chichkov a ?crit : > * enabled git integration (every run stores a new version + some interface to flick between the versions); That we have in mind, question of time. > I'm not sure, if it would be an improvement or not. But the only way to know it for certain is to try it. > > If there's no clones available that already implement this, I'm gonna try hacking such run history support over the weekend. > I'm not familiar with the codebase, so any pointers to the way of least resistance would be greatly appreciated. You might want to inspire from https://github.com/ipython/ipython/pull/2045 (Azure backend) If you want something specific, just ask, we'll be happy to get a PR soon :-) -- Matthias