From mantegazza at ill.fr Tue Dec 1 02:29:45 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Tue, 1 Dec 2015 08:29:45 +0100 Subject: [IPython-dev] Embedded shell setup Message-ID: <20151201082945.505d84b7@ill.fr> Hi! In 2003, we started to develop an application to drive a big instrument (a neutron spectrometer), in a french research institute. Since 2004, this application runs 24h a day, almost all days. It is entirely written in python, and is heavily based on Pyro for clients/servers communication, and, of course IPython, for user interaction. With these 2 great pieces of code, we have build a very strong tool. Fernando helped us a lot to customize IPython, and integrate it in our code. Thanks again for all your help, Fernando! Even if our app. evolved during all these years, it is still based on softwares versions of the early 2k (debian lenny, IPython 0.7.2, Pyro 3.7) :o/ It is time to do a major upgrade! That's why we need some help... Here is what we are doing when we instanciate what we call the 'console' (client part of our app.); we already adapted it to IPython 2.3, but there are still things which does not work (loading 'pymad' profile), and surely thing which could be better (hooks, custom completer...). We would really appreciate feedback! Thanks, ---------------------------------------------------------------- config = IPython.config.loader.Config() promptManager = config.PromptManager promptManager.in_template = "{color.LightRed}PyMAD>>> " promptManager.out_template = ' ' # profile is not loaded does not work! config.profile = "pymad" startMsg = "\nWelcome to PyMAD" startMsg += "\n\nAvailable objects: %s " % sortedProxies startMsg += "\n\nAvailable helpers: %s\n" % helpers.keys() exitMsg = "\nBye!\n" # Instanciate embedded ipython instance ipshell = InteractiveShellEmbed(config, banner1=startMsg, exit_msg=exitMsg) ipshell.set_custom_exc((Exception, ), pymadHandler) ipshell.set_custom_completer(proxy_matches) ipshell.set_custom_completer(python_function_parameters) # Is there a better way to customize Completer? ipshell.Completer._default_arguments = \ new.instancemethod(_default_arguments, ipshell.Completer, ipshell.Completer.__class__) ipshell.Completer.merge_completions = False # Is there a better way to customize prefilter? ipshell.prefilter = new.instancemethod(_prefilter_del, ipshell, ipshell.__class__) ipshell.set_hook("pre_run_code_hook", _pre_run_code_hook) ipshell.set_hook("pre_prompt_hook", _pre_prompt_hook) #ipshell.set_hook("shutdown_hook", _shutdown_hook) # use atexit module -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From bussonniermatthias at gmail.com Tue Dec 1 06:28:40 2015 From: bussonniermatthias at gmail.com (Matthias Bussonnier) Date: Tue, 1 Dec 2015 12:28:40 +0100 Subject: [IPython-dev] Embedded shell setup In-Reply-To: <20151201082945.505d84b7@ill.fr> References: <20151201082945.505d84b7@ill.fr> Message-ID: <211A6B1B-EB78-4197-B8B1-0CC1BC67C169@gmail.com> Hi Frederic. I haven?t used IPython 0.7.2 but I can try to give you some feedback. > On Dec 1, 2015, at 08:29, Fr?d?ric Mantegazza wrote: > > Hi! > > In 2003, we started to develop an application to drive a big instrument > (a neutron spectrometer), in a french research institute. Since 2004, this > application runs 24h a day, almost all days. > > It is entirely written in python, and is heavily based on Pyro for > clients/servers communication, and, of course IPython, for user > interaction. > > With these 2 great pieces of code, we have build a very strong tool. > Fernando helped us a lot to customize IPython, and integrate it in our > code. Thanks again for all your help, Fernando! > > Even if our app. evolved during all these years, it is still based on > softwares versions of the early 2k (debian lenny, IPython 0.7.2, Pyro > 3.7) :o/ > > It is time to do a major upgrade! That's why we need some help... > > Here is what we are doing when we instanciate what we call the > 'console' (client part of our app.); we already adapted it to IPython 2.3, > but there are still things which does not work (loading 'pymad' profile), > and surely thing which could be better (hooks, custom completer...). > > We would really appreciate feedback! > > Thanks, > > ---------------------------------------------------------------- > > config = IPython.config.loader.Config() > promptManager = config.PromptManager I?m not sure this assignment will work, because of what the config object works. In doubt I would explicitly use config.PromptManager.in/out_template if you have issues. I would have to try and check that. > promptManager.in_template = "{color.LightRed}PyMAD>>> " > promptManager.out_template = ? ' > # profile is not loaded does not work! > config.profile = ?pymad" I?m not sure what yo are trying to do. I guess you might want to load a subconfia from another profile ? https://ipython.org/ipython-doc/2/development/config.html?highlight=load_subconfig#configuration-files-inheritance InteractiveShellEmbed is not a subclass of BaseIPythonApplication, so it does not seem have a `profile` configuration. The way it works in IPython is TerminalIPythonApp in init_shell call the following: def init_shell(self): ... self.shell = TerminalInteractiveShell.instance(parent=self, ..., profile_dir=self.profile_dir, ipython_dir=self.ipython_dir, ...) > startMsg = "\nWelcome to PyMAD" > startMsg += "\n\nAvailable objects: %s " % sortedProxies > startMsg += "\n\nAvailable helpers: %s\n" % helpers.keys() > exitMsg = "\nBye!\n" > > # Instanciate embedded ipython instance > ipshell = InteractiveShellEmbed(config, > banner1=startMsg, > exit_msg=exitMsg) > > ipshell.set_custom_exc((Exception, ), pymadHandler) > ipshell.set_custom_completer(proxy_matches) > ipshell.set_custom_completer(python_function_parameters) > I?m not familiar enough with completion, I know that holoview register its own completer: https://github.com/ioam/holoviews/blob/master/holoviews/ipython/magics.py#L697-L717 it might be of help. > # Is there a better way to customize Completer? > ipshell.Completer._default_arguments = \ > new.instancemethod(_default_arguments, > ipshell.Completer, > ipshell.Completer.__class__) > ipshell.Completer.merge_completions = False > I?ll leave this one up to someone else also, likely Thomas maybe ? > # Is there a better way to customize prefilter? > ipshell.prefilter = new.instancemethod(_prefilter_del, > ipshell, > ipshell.__class__) > > ipshell.set_hook("pre_run_code_hook", _pre_run_code_hook) > ipshell.set_hook("pre_prompt_hook", _pre_prompt_hook) > #ipshell.set_hook("shutdown_hook", _shutdown_hook) # use atexit module > Thanks, -- M -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Tue Dec 1 07:12:20 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Tue, 1 Dec 2015 13:12:20 +0100 Subject: [IPython-dev] Embedded shell setup In-Reply-To: <211A6B1B-EB78-4197-B8B1-0CC1BC67C169@gmail.com> References: <20151201082945.505d84b7@ill.fr> <211A6B1B-EB78-4197-B8B1-0CC1BC67C169@gmail.com> Message-ID: <20151201131220.5ad9de90@ill.fr> Le 01/12/2015, Matthias a ?crit : Hi! > > config = IPython.config.loader.Config() > > promptManager = config.PromptManager > > I?m not sure this assignment will work, because of what the config > object works. In doubt I would explicitly use > config.PromptManager.in/out_template if you have issues. I would have to > try and check that. Well, this part works fine (I found this syntax in the examples). > > # profile is not loaded does not work! > > config.profile = ?pymad" > > I?m not sure what yo are trying to do. > I guess you might want to load a subconfia from another profile ? Yes, exactly. > https://ipython.org/ipython-doc/2/development/config.html?highlight=load_subconfig#configuration-files-inheritance > > InteractiveShellEmbed is not a subclass of BaseIPythonApplication, so it > does not seem have a `profile` configuration. The way it works in > IPython is TerminalIPythonApp in init_shell call the following: > > def init_shell(self): > ... > self.shell = TerminalInteractiveShell.instance(parent=self, > ..., profile_dir=self.profile_dir, > ipython_dir=self.ipython_dir, ...) Thanks for the link. The files in the 'pymad' profile dir mainly contains magic commands we add in the shell (these magic commands, combined with TPG - Toy Parser Generator - gives us a set of dedicated commands to drive our spectrometer). But I just found that these magic commands are now registered using decorators, and can even be defined from classes, which is nice. So, I rewrote this part, and finally drop the profile dir. > I?m not familiar enough with completion, I know that holoview register > its own completer: > > https://github.com/ioam/holoviews/blob/master/holoviews/ipython/magics.py#L697-L717 > > it might be of help. Yes, it does! BTW, where can one find the complete list of availables hooks names? Thanks for your help, Matthias! -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From dsdale24 at gmail.com Tue Dec 1 15:56:11 2015 From: dsdale24 at gmail.com (Darren Dale) Date: Tue, 01 Dec 2015 20:56:11 +0000 Subject: [IPython-dev] custom completers, changes since ipython-4? Message-ID: I wrote a custom completer for h5py some years ago, and discovered a problem after updating ipython to the latest version: [TerminalIPythonApp] WARNING | Error in loading extension: h5py.ipy_completer Check your config files in /home/darren/.ipython/profile_default Traceback (most recent call last): File "/opt/conda/lib/python2.7/site-packages/IPython/core/shellapp.py", line 267, in init_extensions self.shell.extension_manager.load_extension(ext) File "/opt/conda/lib/python2.7/site-packages/IPython/core/extensions.py", line 89, in load_extension __import__(module_str) File "/opt/conda/lib/python2.7/site-packages/h5py/ipy_completer.py", line 59, in from IPython import generics ImportError: cannot import name generics I'm sorry if this has an obvious solution that has been announced somewhere, maybe I don't know where to look anymore. Is there a list of changes that has been made to the API? What happened to generics? Thanks, Darren -------------- next part -------------- An HTML attachment was scrubbed... URL: From rosborn at anl.gov Tue Dec 1 16:06:03 2015 From: rosborn at anl.gov (Osborn, Raymond) Date: Tue, 1 Dec 2015 21:06:03 +0000 Subject: [IPython-dev] custom completers, changes since ipython-4? In-Reply-To: References: Message-ID: <73824316-E5A4-4E4E-8570-51082C9C8E98@anl.gov> Hi Darren, >>> from IPython.utils import generics seems to work. There may be other changes you need to be aware of, but I?ll leave that to the real experts. Ray > On Dec 1, 2015, at 2:56 PM, Darren Dale wrote: > > I wrote a custom completer for h5py some years ago, and discovered a problem after updating ipython to the latest version: > > [TerminalIPythonApp] WARNING | Error in loading extension: h5py.ipy_completer Check your config files in /home/darren/.ipython/profile_default Traceback (most recent call last): File "/opt/conda/lib/python2.7/site-packages/IPython/core/shellapp.py", line 267, in init_extensions self.shell.extension_manager.load_extension(ext) File "/opt/conda/lib/python2.7/site-packages/IPython/core/extensions.py", line 89, in load_extension __import__(module_str) File "/opt/conda/lib/python2.7/site-packages/h5py/ipy_completer.py", line 59, in from IPython import generics ImportError: cannot import name generics > > I'm sorry if this has an obvious solution that has been announced somewhere, maybe I don't know where to look anymore. Is there a list of changes that has been made to the API? What happened to generics? > > Thanks, > Darren > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev -- Ray Osborn, Senior Scientist Materials Science Division Argonne National Laboratory Argonne, IL 60439, USA Phone: +1 (630) 252-9011 Email: ROsborn at anl.gov From nick.bollweg at gmail.com Tue Dec 1 17:59:15 2015 From: nick.bollweg at gmail.com (Nicholas Bollweg) Date: Tue, 01 Dec 2015 22:59:15 +0000 Subject: [IPython-dev] [proposal] Jupyter Extension Generator Message-ID: Hi folks! I mentioned this in the dev meeting today: let's build (or at least discuss why we shouldn't build!) a jupyter extension scaffolding/generator system: https://github.com/jupyter/enhancement-proposals/pull/7 Thanks! Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Wed Dec 2 02:11:43 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 08:11:43 +0100 Subject: [IPython-dev] IPython, debian, anaconda - LTS strategy Message-ID: <20151202081143.1a20ab8d@ill.fr> Hi! I was wondering why some of the IPython documentations didn' match what I had on my disk: it is because I'm running IPython 2.3, and not IPython 3.2; I read too fast the result of apt-cache show :o/ The question is: why, even in my debian sid (unstable), I only have IPython 2.x? Is there a reason for the maintainer not to use the latest stable release? It seams that IPython 3.x branch is out for some months, now... One solution is to install IPython 3.x from pip. But is it a good idea? What about IPython dependencies? I may have to install numpy, matplotlib, notebook etc from pip too, and this may lead me too far for an application which has to be very stable (don't want to redo all the work debian maitainers do!). Another solution is to use Anaconda. But I don't know how stable this 'distro', and how it will evolve in the future. For example, they package IPython 4, which does not seem to be stable yet... Don't know if it is easy to install third-party python packages in this environment. Any advice welcome. -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From mantegazza at ill.fr Wed Dec 2 02:42:40 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 08:42:40 +0100 Subject: [IPython-dev] From Pyro to IPython/Jupyter Message-ID: <20151202084240.341947e5@ill.fr> Hi! Our spectrometer driving application is based on Pyro3? to achieve that: the server registers some objects in the Pyro name server, and clients use them as if they where local objects. Our client is build using IPython, for its interactive feature. But it seams that IPython/Jupyter (4.x branch) provide similar mecanisms: it is possible to have a central application (kernel ?), and several clients (frontends) to communicate with it, at the same time. Am I right? I'm not sure to clearly understand how things interact. But it would be great if we could build our app. all on top of IPython/Jupyter, as we already planned to use notebooks to provide a web-based client console... Thanks for your help. ? http://pythonhosted.org/Pyro -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From benjaminrk at gmail.com Wed Dec 2 03:57:57 2015 From: benjaminrk at gmail.com (MinRK) Date: Wed, 2 Dec 2015 09:57:57 +0100 Subject: [IPython-dev] IPython, debian, anaconda - LTS strategy In-Reply-To: <20151202081143.1a20ab8d@ill.fr> References: <20151202081143.1a20ab8d@ill.fr> Message-ID: On Wed, Dec 2, 2015 at 8:11 AM, Fr?d?ric Mantegazza wrote: Hi! > > I was wondering why some of the IPython documentations didn' match what I > had on my disk: it is because I'm running IPython 2.3, and not IPython > 3.2; I read too fast the result of apt-cache show :o/ > > The question is: why, even in my debian sid (unstable), I only have IPython > 2.x? Is there a reason for the maintainer not to use the latest stable > release? It seams that IPython 3.x branch is out for some months, now... > The people who build packages for the various Linux distros are generally not the same as the people who develop the software. This can lead to discrepancies and lag-time before a new release gets packages. IPython 3 shipped in February, and IPython 4 in August. Hopefully things will catch up soon. > One solution is to install IPython 3.x from pip. But is it a good idea? > What about IPython dependencies? I may have to install numpy, > matplotlib, notebook etc from pip too, and this may lead me too far for an > application which has to be very stable (don't want to redo all the work > debian maitainers do!). > This is a difficult tradeoff. Because apt-packaging of Python packages tends to be very slow/conservative, I rarely, if ever, use apt to install anything for Python, and I wouldn?t really recommend using apt to install Python-only packages to most users. Dependencies are obviously the tricky part, and if you mix apt/pip installation, you can get yourself in a bit of a tangle. Typically, I only use apt for things that may be ?hard? to install (i.e. compiled with non-Python dependencies), such as numpy, scipy, matplotlib. But I?m also not a representative user in terms of understanding dependencies and installation issues. But there?s obviously a benefit to being conservative - apt-packaged versions are more likely to be tested/compatible. But to stick with that, you have to be okay not having the latest and greatest versions of packages. And sometimes the lag is not due to conservatism or caution, it?s due to the volunteer package-maintainer community being busy with other things. One *big* caveat: If you do use pip, make sure it?s up-to-date. The debian-bundled pip is also woefully outdated, so you shouldn?t even install pip with apt, you should probably use get-pip to bootstrap it. > Another solution is to use Anaconda. But I don't know how stable this > 'distro', and how it will evolve in the future. For example, they package > IPython 4, which does not seem to be stable yet... Don't know if it is > easy to install third-party python packages in this environment. > Anaconda is pretty quick to ship updates upon release of packages (often within hours of release). One *major* advantage of using conda over apt is you can have it both ways. You can have one conda env running ?stable?, pinning major versions of relevant packages until you have verified that a release works for your own applications, and another ?unstable? which stays up-to-date with the latest conda packages. The same technically goes for virtualenv, but conda?s use of bdists and hardlinks makes multiple envs more pleasant in my experience. -MinRK > Any advice welcome. > > -- > Fr?d?ric MANTEGAZZA CEA-Grenoble > Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN > Fax : 33 (0) 476 483 906 17, rue des Martyrs > Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From benjaminrk at gmail.com Wed Dec 2 04:05:20 2015 From: benjaminrk at gmail.com (MinRK) Date: Wed, 2 Dec 2015 10:05:20 +0100 Subject: [IPython-dev] custom completers, changes since ipython-4? In-Reply-To: <73824316-E5A4-4E4E-8570-51082C9C8E98@anl.gov> References: <73824316-E5A4-4E4E-8570-51082C9C8E98@anl.gov> Message-ID: What version of h5py? It looks like this was fixed a while ago , but this old version would incorrectly trigger a pre-0.11 branch due to the removal of a deprecated API (IPython.core.ipapi). -MinRK ? On Tue, Dec 1, 2015 at 10:06 PM, Osborn, Raymond wrote: > Hi Darren, > > >>> from IPython.utils import generics > > seems to work. There may be other changes you need to be aware of, but > I?ll leave that to the real experts. > > Ray > > > On Dec 1, 2015, at 2:56 PM, Darren Dale wrote: > > > > I wrote a custom completer for h5py some years ago, and discovered a > problem after updating ipython to the latest version: > > > > [TerminalIPythonApp] WARNING | Error in loading extension: > h5py.ipy_completer Check your config files in > /home/darren/.ipython/profile_default Traceback (most recent call last): > File "/opt/conda/lib/python2.7/site-packages/IPython/core/shellapp.py", > line 267, in init_extensions > self.shell.extension_manager.load_extension(ext) File > "/opt/conda/lib/python2.7/site-packages/IPython/core/extensions.py", line > 89, in load_extension __import__(module_str) File > "/opt/conda/lib/python2.7/site-packages/h5py/ipy_completer.py", line 59, in > from IPython import generics ImportError: cannot import name > generics > > > > I'm sorry if this has an obvious solution that has been announced > somewhere, maybe I don't know where to look anymore. Is there a list of > changes that has been made to the API? What happened to generics? > > > > Thanks, > > Darren > > _______________________________________________ > > IPython-dev mailing list > > IPython-dev at scipy.org > > https://mail.scipy.org/mailman/listinfo/ipython-dev > > -- > Ray Osborn, Senior Scientist > Materials Science Division > Argonne National Laboratory > Argonne, IL 60439, USA > Phone: +1 (630) 252-9011 > Email: ROsborn at anl.gov > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matthew.brett at gmail.com Wed Dec 2 04:20:41 2015 From: matthew.brett at gmail.com (Matthew Brett) Date: Wed, 2 Dec 2015 01:20:41 -0800 Subject: [IPython-dev] IPython, debian, anaconda - LTS strategy In-Reply-To: <20151202081143.1a20ab8d@ill.fr> References: <20151202081143.1a20ab8d@ill.fr> Message-ID: Hi, On Tue, Dec 1, 2015 at 11:11 PM, Fr?d?ric Mantegazza wrote: > Hi! > > I was wondering why some of the IPython documentations didn' match what I > had on my disk: it is because I'm running IPython 2.3, and not IPython > 3.2; I read too fast the result of apt-cache show :o/ > > The question is: why, even in my debian sid (unstable), I only have IPython > 2.x? Is there a reason for the maintainer not to use the latest stable > release? It seams that IPython 3.x branch is out for some months, now... > > One solution is to install IPython 3.x from pip. But is it a good idea? > What about IPython dependencies? I may have to install numpy, > matplotlib, notebook etc from pip too, and this may lead me too far for an > application which has to be very stable (don't want to redo all the work > debian maitainers do!). > > Another solution is to use Anaconda. But I don't know how stable this > 'distro', and how it will evolve in the future. For example, they package > IPython 4, which does not seem to be stable yet... Don't know if it is > easy to install third-party python packages in this environment. I recently wrote up the procedure I use on Linux (although I more often use OSX): https://matthew-brett.github.io/pydagogue/installing_on_debian.html Cheers, Matthew From mantegazza at ill.fr Wed Dec 2 05:26:09 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 11:26:09 +0100 Subject: [IPython-dev] IPython, debian, anaconda - LTS strategy In-Reply-To: References: <20151202081143.1a20ab8d@ill.fr> Message-ID: <20151202112609.49099be4@ill.fr> Le 02/12/2015, Matthew a ?crit : > I recently wrote up the procedure I use on Linux (although I more > often use OSX): > > https://matthew-brett.github.io/pydagogue/installing_on_debian.html Very usefull, thanks! -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From mantegazza at ill.fr Wed Dec 2 05:26:34 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 11:26:34 +0100 Subject: [IPython-dev] IPython, debian, anaconda - LTS strategy In-Reply-To: References: <20151202081143.1a20ab8d@ill.fr> Message-ID: <20151202112634.6c2be1dc@ill.fr> Le 02/12/2015, MinRK a ?crit : Thanks for your answers! > Anaconda is pretty quick to ship updates upon release of packages (often > within hours of release). One *major* advantage of using conda over apt > is you can have it both ways. You can have one conda env running > ?stable?, pinning major versions of relevant packages until you have > verified that a release works for your own applications, and another > ?unstable? which stays up-to-date with the latest conda packages. The > same technically goes for virtualenv, but conda?s use of bdists and > hardlinks makes multiple envs more pleasant in my experience. Another point in favor of anaconda is it exists on the 3 major systems; so, anyone will be able to build the same environment to run our applications... This looks interesting to me. We will give it a try. -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From takowl at gmail.com Wed Dec 2 06:59:22 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 2 Dec 2015 11:59:22 +0000 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: <20151202084240.341947e5@ill.fr> References: <20151202084240.341947e5@ill.fr> Message-ID: Hi Fr?d?ric, On 2 December 2015 at 07:42, Fr?d?ric Mantegazza wrote: > Our spectrometer driving application is based on Pyro3? to achieve that: > the server registers some objects in the Pyro name server, and clients use > them as if they where local objects. > > Our client is build using IPython, for its interactive feature. > > But it seams that IPython/Jupyter (4.x branch) provide similar mecanisms: > it is possible to have a central application (kernel ?), and several > clients (frontends) to communicate with it, at the same time. > It is possible to have several clients connected with a single kernel, but it's not really designed for the same use case as Pyro. With Pyro, the server registers specific objects and methods to be exposed remotely. With a Jupyter kernel, the client sends code to be executed in the kernel. It's more like having users SSH in to the server to control the machine; they have full access to run arbitrary code on the server. Best wishes, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Wed Dec 2 07:12:38 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 13:12:38 +0100 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: References: <20151202084240.341947e5@ill.fr> Message-ID: <20151202131238.20f2e3b0@ill.fr> Le 02/12/2015, Thomas a ?crit : > It is possible to have several clients connected with a single kernel, > but it's not really designed for the same use case as Pyro. > > With Pyro, the server registers specific objects and methods to be > exposed remotely. With a Jupyter kernel, the client sends code to be > executed in the kernel. It's more like having users SSH in to the server > to control the machine; they have full access to run arbitrary code on > the server. So, the kernel can't be a specific application, but just an (python or other) execution environment ? -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From takowl at gmail.com Wed Dec 2 07:16:35 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 2 Dec 2015 12:16:35 +0000 Subject: [IPython-dev] IPython, debian, anaconda - LTS strategy In-Reply-To: <20151202081143.1a20ab8d@ill.fr> References: <20151202081143.1a20ab8d@ill.fr> Message-ID: On 2 December 2015 at 07:11, Fr?d?ric Mantegazza wrote: > The question is: why, even in my debian sid (unstable), I only have IPython > 2.x? Is there a reason for the maintainer not to use the latest stable > release? It seams that IPython 3.x branch is out for some months, now... > As Min mentioned, it's not the core team that do Debian packaging. But there's another issue: adding new dependencies that aren't already packaged in Debian slows things down, because all those dependencies have to be packaged and approved (new packages have an extra approval step on top of the normal checks). As Python packaging has improved, we've been increasingly happy to depend on many more external packages, and to split our own code into smaller units which we release separately. Debian's systems aren't keeping up with all this very well. Also, since we always tell people to install using Anaconda or pip, I suspect there's little impetus for people to work on the Debian packaging - people who want an up to date version can easily bypass Debian. Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Wed Dec 2 07:22:21 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 2 Dec 2015 12:22:21 +0000 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: <20151202131238.20f2e3b0@ill.fr> References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> Message-ID: On 2 December 2015 at 12:12, Fr?d?ric Mantegazza wrote: > So, the kernel can't be a specific application, but just an > (python or other) execution environment ? > You could make a custom execution environment which only exposes a particular set of commands relevant to e.g. controlling a mass spectrometer. But broadly, a kernel is there to be the execution backend for a user typing in code, not an RPC framework. If you're happy with the way you use Pyro, you'd probably have to do quite a bit of work to reimplement a similar interface on top of our kernel/client model. Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Wed Dec 2 07:24:32 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 13:24:32 +0100 Subject: [IPython-dev] IPython, debian, anaconda - LTS strategy In-Reply-To: References: <20151202081143.1a20ab8d@ill.fr> Message-ID: <20151202132432.3c106abb@ill.fr> Le 02/12/2015, Thomas a ?crit : > As Min mentioned, it's not the core team that do Debian packaging. Yes, I'm aware of that. I just wanted to know if IPython devs/users had some informations about > But there's another issue: adding new dependencies that aren't already > packaged in Debian slows things down, because all those dependencies > have to be packaged and approved (new packages have an extra approval > step on top of the normal checks). As Python packaging has improved, > we've been increasingly happy to depend on many more external packages, > and to split our own code into smaller units which we release > separately. Debian's systems aren't keeping up with all this very well. Yes, I think it's a lot of work for maintainers :o/ > Also, since we always tell people to install using Anaconda or pip, I > suspect there's little impetus for people to work on the Debian > packaging - people who want an up to date version can easily bypass > Debian. It makes sens... I just tried anaconda (miniconda, in fact), and I've been able to setup a working env for our application in a few minutes :o) Looks like a very good way to go. -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From mantegazza at ill.fr Wed Dec 2 08:27:38 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 14:27:38 +0100 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> Message-ID: <20151202142738.58bc01ab@ill.fr> Le 02/12/2015, Thomas a ?crit : > You could make a custom execution environment which only exposes a > particular set of commands relevant to e.g. controlling a mass > spectrometer. But broadly, a kernel is there to be the execution backend > for a user typing in code, not an RPC framework. If you're happy with the > way you use Pyro, you'd probably have to do quite a bit of work to > reimplement a similar interface on top of our kernel/client model. When we started to develop our application (aka PyMAD), we had in mind to push the instrument responsible to dig into python, and offer him something closer to a framework, rather than a end-user application. This, because this guy is someone with 1000 ideas per hour, and often asks for new stuffs. So, giving to him such (very) high level tools to control his instrument could have been nice. But He never dig enough into python to be able to do so. I don't blame him at all, as it is not easy to change habits. Python was new to him... But he is about to retire, at the end of this year, and the new responsible is younger, and uses python to treat his scientific datas. So, I think it could be nice, this time, to implement what we always wanted to do. Saying this, it appears to me that we don't really need a RPC-like framework, and exposing all the internals of the application could be great. We will have to find a mecanism to hide some parts for simple users using the instrument, to avoid them to brake things during their experiment (:o/), but I think it can be done without too much work. On the other hand, having the jupyter mecanism, and being able to start a session from one place, in a pure console, or in a qtconsole, them go back home and switch to a web-based console to continue to work from the same point is really great. Last, it appears that Pyro4 dropped some features mandatory for our application, like the event service! So, we are stuck to the 3.x version... That's why I want to explore this idea. -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From takowl at gmail.com Wed Dec 2 08:51:36 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 2 Dec 2015 13:51:36 +0000 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: <20151202142738.58bc01ab@ill.fr> References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> Message-ID: On 2 December 2015 at 13:27, Fr?d?ric Mantegazza wrote: > On the other hand, having the jupyter mecanism, and being able to start a > session from one place, in a pure console, or in a qtconsole, them > go back home and switch to a web-based console to continue to work from > the same point is really great. > Note that our machinery doesn't make this very easy at present - e.g. the notebook server only talks to kernels it started, so you can't create a notebook and attach it to an existing kernel. And running a console or a qt console with a kernel on another machine involves setting up SSH tunnels. One simple thing you could do would be to run the notebook server itself on the machine controlling the instrument - possibly under Jupyterhub, so users have separate logins. But that's obviously quite a large service to have running on a computer directly connected to important hardware. Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From rosborn at anl.gov Wed Dec 2 08:58:24 2015 From: rosborn at anl.gov (Osborn, Raymond) Date: Wed, 2 Dec 2015 13:58:24 +0000 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: <20151202142738.58bc01ab@ill.fr> References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> Message-ID: Frederic, We have been testing the use of Pyro4 as a method of loading remote NeXus files within NeXpy, which also uses a Jupyter shell (http://nexpy.github.io/nexpy/). It?s not part of the official distribution yet, but I would be happy to discuss it with you outside this list. As a fellow neutron scatterer, it might be relevant. Ray On Dec 2, 2015, at 7:27 AM, Fr?d?ric Mantegazza > wrote: Le 02/12/2015, Thomas a ?crit : You could make a custom execution environment which only exposes a particular set of commands relevant to e.g. controlling a mass spectrometer. But broadly, a kernel is there to be the execution backend for a user typing in code, not an RPC framework. If you're happy with the way you use Pyro, you'd probably have to do quite a bit of work to reimplement a similar interface on top of our kernel/client model. When we started to develop our application (aka PyMAD), we had in mind to push the instrument responsible to dig into python, and offer him something closer to a framework, rather than a end-user application. This, because this guy is someone with 1000 ideas per hour, and often asks for new stuffs. So, giving to him such (very) high level tools to control his instrument could have been nice. But He never dig enough into python to be able to do so. I don't blame him at all, as it is not easy to change habits. Python was new to him... But he is about to retire, at the end of this year, and the new responsible is younger, and uses python to treat his scientific datas. So, I think it could be nice, this time, to implement what we always wanted to do. Saying this, it appears to me that we don't really need a RPC-like framework, and exposing all the internals of the application could be great. We will have to find a mecanism to hide some parts for simple users using the instrument, to avoid them to brake things during their experiment (:o/), but I think it can be done without too much work. On the other hand, having the jupyter mecanism, and being able to start a session from one place, in a pure console, or in a qtconsole, them go back home and switch to a web-based console to continue to work from the same point is really great. Last, it appears that Pyro4 dropped some features mandatory for our application, like the event service! So, we are stuck to the 3.x version... That's why I want to explore this idea. -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 _______________________________________________ IPython-dev mailing list IPython-dev at scipy.org https://mail.scipy.org/mailman/listinfo/ipython-dev -- Ray Osborn, Senior Scientist Materials Science Division Argonne National Laboratory Argonne, IL 60439, USA Phone: +1 (630) 252-9011 Email: ROsborn at anl.gov -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Wed Dec 2 09:15:40 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 15:15:40 +0100 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> Message-ID: <20151202151540.30f17736@ill.fr> Le 02/12/2015, Thomas a ?crit : > Note that our machinery doesn't make this very easy at present - e.g. the > notebook server only talks to kernels it started, so you can't create a > notebook and attach it to an existing kernel. And running a console or a > qt console with a kernel on another machine involves setting up SSH > tunnels. Ok. SSH is fine for consoles. > One simple thing you could do would be to run the notebook server itself > on the machine controlling the instrument - possibly under Jupyterhub, so > users have separate logins. But that's obviously quite a large service to > have running on a computer directly connected to important hardware. Fortunately, people here don't have bad intentions :o) For example, login/password strategy on instruments machines is very simple, and almost anyone can log in any machine. As far as I know, nobody has ever messed up somebody else experiment ;o) And all stuff is protected from the outside by strong firewall. Jupyterhub can be interesting to give a larger access to the instrument responsible, and simple access to standard users (I understand that this is something we will have to implement, and not provided by Jupyter). -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From mantegazza at ill.fr Wed Dec 2 09:28:01 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 2 Dec 2015 15:28:01 +0100 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> Message-ID: <20151202152801.5298d6d2@ill.fr> Le 02/12/2015, Raymond a ?crit : > We have been testing the use of Pyro4 as a method of loading remote > NeXus files within NeXpy, which also uses a Jupyter shell > (http://nexpy.github.io/nexpy/). It?s not part of the official > distribution yet, but I would be happy to discuss it with you outside > this list. As a fellow neutron scatterer, it might be relevant. Great! I will surely come back to you, but I first need to understand all concepts behind IPython 4 and Jupyter... BTW, NeXus is also on our TODO list of things to learn ;o) -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From sebastian.kremiec at gmail.com Wed Dec 2 15:50:51 2015 From: sebastian.kremiec at gmail.com (Sebastian Kremiec) Date: Wed, 02 Dec 2015 20:50:51 +0000 Subject: [IPython-dev] New project - K3D In-Reply-To: References: Message-ID: Hello again, It's been a while since my previous post. We have been quite busy working hard to make our project better with every release. We've made many fixes and improvements, just to name a few (visit https://github.com/K3D-tools/K3D-jupyter/releases for full list): - support for new object types (vectors, vector fields 2D and 3D, textures, voxels) - voxels edit mode - full screen mode - full Python3 support - ability to group and remove objects - objects properties can be modified (with live update) - improved performance - various bug-fixes Make sure to checkout examples to see all the new stuff in action. As previously, any feedback is very welcome and highly appreciated. Greetings, K3D Team -------------- next part -------------- An HTML attachment was scrubbed... URL: From kikocorreoso at gmail.com Wed Dec 2 16:36:41 2015 From: kikocorreoso at gmail.com (Kiko) Date: Wed, 2 Dec 2015 22:36:41 +0100 Subject: [IPython-dev] New project - K3D In-Reply-To: References: Message-ID: It seems pretty interesting but I had to surf a little bit and dive into the code to figure out what it is k3d. It would be nice to add some info in the readme to understand what you can do with the extension, what problems could be solved, why you should install it,... :-) 2015-12-02 21:50 GMT+01:00, Sebastian Kremiec : > Hello again, > > It's been a while since my previous post. We have been quite busy working > hard to make our project better with every release. > > We've made many fixes and improvements, just to name a few (visit > https://github.com/K3D-tools/K3D-jupyter/releases for full list): > - support for new object types (vectors, vector fields 2D and 3D, textures, > voxels) > - voxels edit mode > - full screen mode > - full Python3 support > - ability to group and remove objects > - objects properties can be modified (with live update) > - improved performance > - various bug-fixes > > Make sure to checkout examples to see all the new stuff in action. > As previously, any feedback is very welcome and highly appreciated. > > Greetings, > K3D Team > From ian.h.bell at gmail.com Wed Dec 2 16:44:06 2015 From: ian.h.bell at gmail.com (Ian Bell) Date: Wed, 2 Dec 2015 14:44:06 -0700 Subject: [IPython-dev] New project - K3D In-Reply-To: References: Message-ID: And a screenshot might be nice on the front page as motivation Also, windows support would be nice :) On Wed, Dec 2, 2015 at 2:36 PM, Kiko wrote: > It seems pretty interesting but I had to surf a little bit and dive > into the code to figure out what it is k3d. > > It would be nice to add some info in the readme to understand what you > can do with the extension, what problems could be solved, why you > should install it,... > > :-) > > 2015-12-02 21:50 GMT+01:00, Sebastian Kremiec >: > > Hello again, > > > > It's been a while since my previous post. We have been quite busy working > > hard to make our project better with every release. > > > > We've made many fixes and improvements, just to name a few (visit > > https://github.com/K3D-tools/K3D-jupyter/releases for full list): > > - support for new object types (vectors, vector fields 2D and 3D, > textures, > > voxels) > > - voxels edit mode > > - full screen mode > > - full Python3 support > > - ability to group and remove objects > > - objects properties can be modified (with live update) > > - improved performance > > - various bug-fixes > > > > Make sure to checkout examples to see all the new stuff in action. > > As previously, any feedback is very welcome and highly appreciated. > > > > Greetings, > > K3D Team > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dsdale24 at gmail.com Wed Dec 2 17:14:32 2015 From: dsdale24 at gmail.com (Darren Dale) Date: Wed, 02 Dec 2015 22:14:32 +0000 Subject: [IPython-dev] custom completers, changes since ipython-4? In-Reply-To: References: <73824316-E5A4-4E4E-8570-51082C9C8E98@anl.gov> Message-ID: The problem exists in h5py-2.5.0, and is related to the removal of TryNext from the IPython namespace. The problem has been addressed in the h5py master branch. Thanks, Darren On Wed, Dec 2, 2015 at 4:05 AM MinRK wrote: > What version of h5py? It looks like this was fixed a while ago > , but this old version > would > incorrectly trigger a pre-0.11 branch due to the removal of a deprecated > API (IPython.core.ipapi). > > -MinRK > ? > > On Tue, Dec 1, 2015 at 10:06 PM, Osborn, Raymond wrote: > >> Hi Darren, >> >> >>> from IPython.utils import generics >> >> seems to work. There may be other changes you need to be aware of, but >> I?ll leave that to the real experts. >> >> Ray >> >> > On Dec 1, 2015, at 2:56 PM, Darren Dale wrote: >> > >> > I wrote a custom completer for h5py some years ago, and discovered a >> problem after updating ipython to the latest version: >> > >> > [TerminalIPythonApp] WARNING | Error in loading extension: >> h5py.ipy_completer Check your config files in >> /home/darren/.ipython/profile_default Traceback (most recent call last): >> File "/opt/conda/lib/python2.7/site-packages/IPython/core/shellapp.py", >> line 267, in init_extensions >> self.shell.extension_manager.load_extension(ext) File >> "/opt/conda/lib/python2.7/site-packages/IPython/core/extensions.py", line >> 89, in load_extension __import__(module_str) File >> "/opt/conda/lib/python2.7/site-packages/h5py/ipy_completer.py", line 59, in >> from IPython import generics ImportError: cannot import name >> generics >> > >> > I'm sorry if this has an obvious solution that has been announced >> somewhere, maybe I don't know where to look anymore. Is there a list of >> changes that has been made to the API? What happened to generics? >> > >> > Thanks, >> > Darren >> > _______________________________________________ >> > IPython-dev mailing list >> > IPython-dev at scipy.org >> > https://mail.scipy.org/mailman/listinfo/ipython-dev >> >> -- >> Ray Osborn, Senior Scientist >> Materials Science Division >> Argonne National Laboratory >> Argonne, IL 60439, USA >> Phone: +1 (630) 252-9011 >> Email: ROsborn at anl.gov >> >> >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> https://mail.scipy.org/mailman/listinfo/ipython-dev >> > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Thu Dec 3 02:26:12 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Thu, 3 Dec 2015 08:26:12 +0100 Subject: [IPython-dev] Using jupyter_console as embedded shell Message-ID: <20151203082612.06295e86@ill.fr> Hi! Is there a direct matching of the InteractiveShellEmbed in jupyter_console ? I tried to replace: from IPython.terminal.embed import InteractiveShellEmbed ipshell = InteractiveShellEmbed(...) ipshell.mainloop() with: from jupyter_console.interactiveshell import ZMQTerminalInteractiveShell ipshell = ZMQTerminalInteractiveShell(...) ipshell.mainloop() but I get an exception: "/opt/miniconda2/lib/python2.7/site-packages/jupyter_console/interactiveshell.py", line 460, in wait_for_kernel self.client.hb_channel.unpause() AttributeError: 'NoneType' object has no attribute 'hb_channel' I do have a kernel running (launched with ipython notebook), but I may need to give the client additional informations? Thanks for your help, -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From takowl at gmail.com Thu Dec 3 05:02:34 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 3 Dec 2015 10:02:34 +0000 Subject: [IPython-dev] Using jupyter_console as embedded shell In-Reply-To: <20151203082612.06295e86@ill.fr> References: <20151203082612.06295e86@ill.fr> Message-ID: On 3 December 2015 at 07:26, Fr?d?ric Mantegazza wrote: > Is there a direct matching of the InteractiveShellEmbed in > jupyter_console ? > There isn't, because it doesn't really make sense. Embedding an IPython shell gives you interactive access to the namespace in which you invoke it - it's like launching a debugger with pdb.set_trace(). jupyter_console is for communicating with a kernel in a separate process, so you can't embed it in the namespace where you created it. You can embed the IPython kernel by calling IPython.embed_kernel(), and then connect a console to it from another terminal, if that's what you want. Or if you just want to start jupyter_console programmatically, without worrying about the namespace, I think that's jupyter_console.app.main(). Passing existing=True should be equivalent to --existing on the command line. Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Thu Dec 3 05:10:25 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Thu, 3 Dec 2015 11:10:25 +0100 Subject: [IPython-dev] Using jupyter_console as embedded shell In-Reply-To: References: <20151203082612.06295e86@ill.fr> Message-ID: <20151203111025.7c802485@ill.fr> Le 03/12/2015, Thomas a ?crit : > There isn't, because it doesn't really make sense. Embedding an IPython > shell gives you interactive access to the namespace in which you invoke > it > - it's like launching a debugger with pdb.set_trace(). jupyter_console is > for communicating with a kernel in a separate process, so you can't embed > it in the namespace where you created it. > > You can embed the IPython kernel by calling IPython.embed_kernel(), and > then connect a console to it from another terminal, if that's what you > want. > > Or if you just want to start jupyter_console programmatically, without > worrying about the namespace, I think that's jupyter_console.app.main(). > Passing existing=True should be equivalent to --existing on the command > line. I see. So, I have to move my customization of IPython (completer, custom exceptions and so), to the kernel, right? The kernel acts as the core of IPython? -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From takowl at gmail.com Thu Dec 3 05:28:32 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 3 Dec 2015 10:28:32 +0000 Subject: [IPython-dev] Using jupyter_console as embedded shell In-Reply-To: <20151203111025.7c802485@ill.fr> References: <20151203082612.06295e86@ill.fr> <20151203111025.7c802485@ill.fr> Message-ID: On 3 December 2015 at 10:10, Fr?d?ric Mantegazza wrote: > So, I have to move my customization of IPython (completer, custom > exceptions and so), to the kernel, right? The kernel acts as the core of > IPython? > The kernel is the process that loads IPython and handles execution, tab completion, and so on. Almost everything that's specific to dealing with Python code happens in the kernel (syntax higlighting in the notebook and the Qt console are exceptions). All of the Jupyter frontends (notebook, qtconsole, console) communicate with kernels by sending messages back and forth over a zmq socket. As far as possible, anything under the 'Jupyter' name is language agnostic, so it should work as well for Julia, or R, or any other language as it does for Python (so long as there's a kernel for the language installed). Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Thu Dec 3 07:01:59 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Thu, 3 Dec 2015 13:01:59 +0100 Subject: [IPython-dev] Using jupyter_console as embedded shell In-Reply-To: References: <20151203082612.06295e86@ill.fr> <20151203111025.7c802485@ill.fr> Message-ID: <20151203130159.52818ef9@ill.fr> Le 03/12/2015, Thomas a ?crit : > The kernel is the process that loads IPython and handles execution, tab > completion, and so on. Almost everything that's specific to dealing with > Python code happens in the kernel Ok. Based on this code: https://github.com/ipython/ipykernel/blob/master/ipykernel/embed.py I successfully started the kernel, and connected several console to it. But my config (prompt, completion, exceptions behaviour...) is not taken into account. What did I miss? Here is my code: from ipykernel.kernelapp import IPKernelApp from traitlets.config.loader import Config config = Config() promptManager = config.PromptManager promptManager.in_template = "{color.LightGreen}Simul>>> " startMsg = "\nWelcome to PyMAD" startMsg += "\n\nAvailable objects: %s " % sortedProxies startMsg += "\n\nAvailable helpers: %s\n" % helpers.keys() exitMsg = "\nBye!\n" app = IPKernelApp.instance(config=config, banner1=startMsg, exit_msg=exitMsg) app.initialize([]) app.shell.set_custom_exc((Exception, ), pymadHandler) app.shell.set_custom_completer(proxy_matches) app.shell.Completer.merge_completions = False app.shell.set_hook("pre_prompt_hook", pre_prompt_hook) app.shell.events.register('pre_execute', pre_execute) app.shell.register_magics(ServerMagics) app.kernel.user_ns = context app.start() -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From takowl at gmail.com Thu Dec 3 07:34:10 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Thu, 3 Dec 2015 12:34:10 +0000 Subject: [IPython-dev] Using jupyter_console as embedded shell In-Reply-To: <20151203130159.52818ef9@ill.fr> References: <20151203082612.06295e86@ill.fr> <20151203111025.7c802485@ill.fr> <20151203130159.52818ef9@ill.fr> Message-ID: On 3 December 2015 at 12:01, Fr?d?ric Mantegazza wrote: > But my config (prompt, completion, exceptions behaviour...) is not taken > into account. What did I miss? > The prompts config won't affect the frontends you connect to the kernel - prompts are produced by the frontend, and are mostly not configurable (we've thought about making them more configurable, but there aren't many people asking for that, and it would add quite a bit of complexity, so it hasn't happened yet). As far as I know, the completions and custom exception handlers you're setting up should work; I'm not sure why they don't. Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From ian.h.bell at gmail.com Thu Dec 3 11:39:14 2015 From: ian.h.bell at gmail.com (Ian Bell) Date: Thu, 3 Dec 2015 09:39:14 -0700 Subject: [IPython-dev] notebook hanging Message-ID: Hi! I'm running into troubles with the Jupyter notebook hanging with the python kernel. I'm doing some sympy calculations, and when I say run all cells, I can evaluate the first cell in the notebook, and then it just hangs - no error message in console, no error message in window, etc. The screenshot below shows the issue. I've tried to flush out the security directory in HOME\.ipython\profile_default\security, which worked yesterday, but is no longer working today. Has anyone had a similar problem before? Ian [image: Inline image 1] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image.png Type: image/png Size: 45622 bytes Desc: not available URL: From mantegazza at ill.fr Fri Dec 4 01:34:35 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Fri, 4 Dec 2015 07:34:35 +0100 Subject: [IPython-dev] Python tutorials based on notebook Message-ID: <20151204073435.59787326@ill.fr> Hi! I was wondering is there are some Python tutorials based on notebook? Something I could re-use to make an nice intriduction to Python... Thanks, -- Fr?d?ric 76 17 From zvoros at gmail.com Fri Dec 4 02:34:52 2015 From: zvoros at gmail.com (=?UTF-8?B?Wm9sdMOhbiBWw7Zyw7Zz?=) Date: Fri, 4 Dec 2015 08:34:52 +0100 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <20151204073435.59787326@ill.fr> References: <20151204073435.59787326@ill.fr> Message-ID: <5661421C.8040907@gmail.com> Fr?d?ric, Have you looked at https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks ? I believe you should be able to find something there that fits the bill. Cheers, Zolt?n On 12/04/2015 07:34 AM, Fr?d?ric Mantegazza wrote: > Hi! > > I was wondering is there are some Python tutorials based on notebook? > Something I could re-use to make an nice intriduction to Python... > > Thanks, > From mantegazza at ill.fr Fri Dec 4 02:48:33 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Fri, 4 Dec 2015 08:48:33 +0100 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <5661421C.8040907@gmail.com> References: <20151204073435.59787326@ill.fr> <5661421C.8040907@gmail.com> Message-ID: <20151204084833.709ecc07@ill.fr> Le 04/12/2015, Zolt?n a ?crit : > Have you looked at > https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks > ? I believe you should be able to find something there that fits the > bill. I missed that! That's exactly what I was looking for :o) Thanks, -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From efiring at hawaii.edu Fri Dec 4 11:50:02 2015 From: efiring at hawaii.edu (Eric Firing) Date: Fri, 4 Dec 2015 06:50:02 -1000 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <20151204073435.59787326@ill.fr> References: <20151204073435.59787326@ill.fr> Message-ID: <5661C43A.70604@hawaii.edu> On 2015/12/03 8:34 PM, Fr?d?ric Mantegazza wrote: > Hi! > > I was wondering is there are some Python tutorials based on notebook? > Something I could re-use to make an nice intriduction to Python... > > Thanks, > I have included some notebook-based tutorials in: http://currents.soest.hawaii.edu/ocn_data_analysis/ Eric From mantegazza at ill.fr Mon Dec 7 01:37:03 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Mon, 7 Dec 2015 07:37:03 +0100 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <5661C43A.70604@hawaii.edu> References: <20151204073435.59787326@ill.fr> <5661C43A.70604@hawaii.edu> Message-ID: <20151207073703.688b6b98@ill.fr> Le 04/12/2015, Eric a ?crit : > I have included some notebook-based tutorials in: > > http://currents.soest.hawaii.edu/ocn_data_analysis/ Thanks! -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From eric at cfa.harvard.edu Mon Dec 7 08:49:18 2015 From: eric at cfa.harvard.edu (ericmandel) Date: Mon, 7 Dec 2015 05:49:18 -0800 (PST) Subject: [IPython-dev] embedding js9 into a notebook In-Reply-To: References: Message-ID: <1449496158258-5178693.post@n6.nabble.com> We?ve made some progress integrating JS9 image display into Jupyter. Try executing this in a cell: %%html
If you do not have astronomical data, you should be able to drag and drop a png file onto the display. Create a region from the Regions menu, select an analysis tool like 3dPlot from the Analysis menu, click the region and move it around, etc ? The one thing that really does not work is keyboard input into dialog boxes. For example, in the Zoom menu, click the ?numeric zoom value? box and try to enter a zoom factor. The whole display disappears, presumably because the keypress event is being interpreted as a Jupyter command/edit keypress. Is there a simple way to focus keyboard events away from Jupyter itself? My colleague Gijs Molenaar, who actually understands Jupyter (I?m the author of JS9 and know next to nothing) will get back to this, but for now, it would be great to be able to tell early adopters how to run JS9 in Jupyter without crashing it. If the answer is that one cannot wrestle the keyboard focus away from Jupyter, I can disable the dialog boxes. But in that case, it would be really useful to know that JS9 is in the Jupyter environment. Does Jupyter load any unique JavaScript or set a variable that I can check for in order to sense the environment? -- View this message in context: http://python.6.x6.nabble.com/embedding-js9-into-a-notebook-tp5173096p5178693.html Sent from the IPython - Development mailing list archive at Nabble.com. From nick.bollweg at gmail.com Mon Dec 7 09:25:09 2015 From: nick.bollweg at gmail.com (Nicholas Bollweg) Date: Mon, 07 Dec 2015 14:25:09 +0000 Subject: [IPython-dev] embedding js9 into a notebook In-Reply-To: <1449496158258-5178693.post@n6.nabble.com> References: <1449496158258-5178693.post@n6.nabble.com> Message-ID: Great, I'm glad you've made progress! The key method is: Jupyter.keyboard_manager.register_events($("")) The nuclear option may also be worth considering: rendering the whole js9 inside an iframe. Let me know when you are thinking you've advanced to the point where you want to try to package the whole thing in a repo. It would be easier to start collaborating on code, and then be able to get a binder (mybinder.org) going, then consider how to proceed: pure js nbextension, python backend (widgets), etc. On Mon, Dec 7, 2015 at 8:58 AM ericmandel wrote: > We?ve made some progress integrating JS9 image display into Jupyter. Try > executing this in a cell: > > %%html >
>
> href="//js9.si.edu/jupyter/js9-allinone.css"> > > > If you do not have astronomical data, you should be able to drag and drop a > png file onto the display. Create a region from the Regions menu, select an > analysis tool like 3dPlot from the Analysis menu, click the region and move > it around, etc ? > > The one thing that really does not work is keyboard input into dialog > boxes. > For example, in the Zoom menu, click the ?numeric zoom value? box and try > to > enter a zoom factor. The whole display disappears, presumably because the > keypress event is being interpreted as a Jupyter command/edit keypress. > > Is there a simple way to focus keyboard events away from Jupyter itself? My > colleague Gijs Molenaar, who actually understands Jupyter (I?m the author > of > JS9 and know next to nothing) will get back to this, but for now, it would > be great to be able to tell early adopters how to run JS9 in Jupyter > without > crashing it. > > If the answer is that one cannot wrestle the keyboard focus away from > Jupyter, I can disable the dialog boxes. But in that case, it would be > really useful to know that JS9 is in the Jupyter environment. Does Jupyter > load any unique JavaScript or set a variable that I can check for in order > to sense the environment? > > > > > -- > View this message in context: > http://python.6.x6.nabble.com/embedding-js9-into-a-notebook-tp5173096p5178693.html > Sent from the IPython - Development mailing list archive at Nabble.com. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mmckerns at caltech.edu Mon Dec 7 10:16:33 2015 From: mmckerns at caltech.edu (Michael McKerns) Date: Mon, 7 Dec 2015 10:16:33 -0500 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: <20151202152801.5298d6d2@ill.fr> References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> <20151202152801.5298d6d2@ill.fr> Message-ID: <2f18f25bead169c7d841dacf1b24c775.squirrel@webmail.caltech.edu> Fr?d?ric, Pyro is good for python to non-python connections, however, if you are going python to python, a good alternative is to use ParallelPython `pp`, which has remote python servers. There's an easy-to-install version of it that's available as `ppft`, which provides better serialization capabilities than `pp`. 'ppft' uses a lighter weight communication requirement than anything mentioned already (essentially, it creates a pipe to a connection across a port and sends by RPC). This allows you to set up a "remote python instance", and then ship objects to it across a pipe to be executed (potentially in parallel). There's also `rpyc`, which essentially does the same thing. (see: http://www.ibm.com/developerworks/linux/library/l-rpyc) Classic mode in `rpyc` is especially powerful, if you unequivocally trust your users -- if not, don't use 'Classic', and register all your functions that you want to make available on the remote machine. I have used both `rpyc` and `ppft` inside of ssh-tunneled connections, which can be established automatically via `paramiko` or `pathos`. For flexible single connections where I want to do something complex, I often use `rpyc` inside a combination of `paramiko` and `pathos` (depending on what needs to be done). For parallel computing on a remote machine, I use `pathos` plus `ppft`. Both mechanism have been used successfully to tunnel into remote machines at the DOE labs for over 10 years, including making remote connections to the ARCS spectrometer at ORNL, and for creating more complex ad-hoc graphs of distributed workers (that don't require a master-controller relationship) across several DOE leadership class machines. Any of the above is very simple solution, as it doesn't try to do too much? which is why it works. In this particular case, the Jupyter/Ipython environment for distributed computing doesn't seem to me to be quite what you are looking for, at least not just yet. However, it would be pretty sweet if Jupyter/Ipython went that way eventually, as it can handle much more complexity across the pipe and in what it can directly hook into than what I'm suggesting. > Le 02/12/2015, Raymond a ?crit : > >> We have been testing the use of Pyro4 as a method of loading remote >> NeXus files within NeXpy, which also uses a Jupyter shell >> (http://nexpy.github.io/nexpy/). It?s not part of the official >> distribution yet, but I would be happy to discuss it with you outside >> this list. As a fellow neutron scatterer, it might be relevant. > > Great! > > I will surely come back to you, but I first need to understand all > concepts behind IPython 4 and Jupyter... > > BTW, NeXus is also on our TODO list of things to learn ;o) > > -- > Fr?d?ric MANTEGAZZA CEA-Grenoble > Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN > Fax : 33 (0) 476 483 906 17, rue des Martyrs > Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > --- Mike McKerns California Institute of Technology http://www.its.caltech.edu/~mmckerns From eric at cfa.harvard.edu Mon Dec 7 19:55:40 2015 From: eric at cfa.harvard.edu (ericmandel) Date: Mon, 7 Dec 2015 16:55:40 -0800 (PST) Subject: [IPython-dev] embedding js9 into a notebook In-Reply-To: References: <1449496158258-5178693.post@n6.nabble.com> Message-ID: <1449536140426-5178757.post@n6.nabble.com> > The key method is: > Jupyter.keyboard_manager.register_events($("")) Perfect! All of the JS9 dialog boxes now work as expected inside Jupyter. Thanks very much for your timely suggestion. The only functions that do not work are those requiring $.ajax() calls. These are not critical, but I would work at fixing them if they ought to work and if you can give me a hint. Otherwise, my colleague Gijs and I will be back in touch when he is ready to deal with final form and packaging issues. -- View this message in context: http://python.6.x6.nabble.com/embedding-js9-into-a-notebook-tp5173096p5178757.html Sent from the IPython - Development mailing list archive at Nabble.com. From mantegazza at ill.fr Tue Dec 8 01:28:08 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Tue, 8 Dec 2015 07:28:08 +0100 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: <2f18f25bead169c7d841dacf1b24c775.squirrel@webmail.caltech.edu> References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> <20151202152801.5298d6d2@ill.fr> <2f18f25bead169c7d841dacf1b24c775.squirrel@webmail.caltech.edu> Message-ID: <20151208072808.7d65bcf8@ill.fr> Le 07/12/2015, Michael a ?crit : > Pyro is good for python to non-python connections Really ? AFAK, Pyro can only be used from Pythons scripts... > however, if you are going python to python, a good alternative is to use > ParallelPython `pp`, which has remote python servers. There's an > easy-to-install version of it that's available as `ppft`, which provides > better serialization capabilities than `pp`. 'ppft' uses a lighter > weight communication requirement than anything mentioned already > (essentially, it creates a pipe to a connection across a port and sends > by RPC). This allows you to set up a "remote python instance", and then > ship objects to it across a pipe to be executed (potentially > in parallel). > > There's also `rpyc`, which essentially does the same thing. > (see: http://www.ibm.com/developerworks/linux/library/l-rpyc) > Classic mode in `rpyc` is especially powerful, if you unequivocally > trust your users -- if not, don't use 'Classic', and register all your > functions that you want to make available on the remote machine. I will have a look at these framworks... > I have used both `rpyc` and `ppft` inside of ssh-tunneled connections, > which can be established automatically via `paramiko` or `pathos`. > For flexible single connections where I want to do something complex, > I often use `rpyc` inside a combination of `paramiko` and `pathos` > (depending on what needs to be done). For parallel computing on a remote > machine, I use `pathos` plus `ppft`. Both mechanism have been used > successfully to tunnel into remote machines at the DOE labs for over > 10 years, including making remote connections to the ARCS spectrometer > at ORNL, and for creating more complex ad-hoc graphs of distributed > workers (that don't require a master-controller relationship) across > several DOE leadership class machines. Any of the above is very simple > solution, as it doesn't try to do too much? which is why it works. Thanks for your feedback. It's important to know how reliable solutions are. > In this particular case, the Jupyter/Ipython environment for distributed > computing doesn't seem to me to be quite what you are looking for, at > least not just yet. Yes, I agree. For now, we will keep our architecture, and use IPython as embedded shell, as we did before. Maybe replace Pyro with one of the suggested framework. -- Fr?d?ric MANTEGAZZA CEA-Grenoble Tel. : 33 (0) 476 207 617 INAC/SPSMS/MDN Fax : 33 (0) 476 483 906 17, rue des Martyrs Courriel : mantegazza at ill.fr F-38054 Grenoble Cedex 09 From nick.bollweg at gmail.com Tue Dec 8 06:59:46 2015 From: nick.bollweg at gmail.com (Nicholas Bollweg) Date: Tue, 08 Dec 2015 11:59:46 +0000 Subject: [IPython-dev] embedding js9 into a notebook In-Reply-To: <1449536140426-5178757.post@n6.nabble.com> References: <1449496158258-5178693.post@n6.nabble.com> <1449536140426-5178757.post@n6.nabble.com> Message-ID: What are the symptoms on the ajax calls? This is another area where the iframe may have the advantage, as the link base would be the static html page you served up, presumably from where the the js9 stuff would be saved/packaged, so it would work more like the "normal" usage on the js9 site. On Mon, Dec 7, 2015 at 8:05 PM ericmandel wrote: > > The key method is: > > Jupyter.keyboard_manager.register_events($("")) > > Perfect! All of the JS9 dialog boxes now work as expected inside Jupyter. > Thanks very much for your timely suggestion. > > The only functions that do not work are those requiring $.ajax() calls. > These are not critical, but I would work at fixing them if they ought to > work and if you can give me a hint. > > Otherwise, my colleague Gijs and I will be back in touch when he is ready > to > deal with final form and packaging issues. > > > > > -- > View this message in context: > http://python.6.x6.nabble.com/embedding-js9-into-a-notebook-tp5173096p5178757.html > Sent from the IPython - Development mailing list archive at Nabble.com. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mmckerns at caltech.edu Tue Dec 8 07:28:50 2015 From: mmckerns at caltech.edu (Michael McKerns) Date: Tue, 8 Dec 2015 07:28:50 -0500 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: <20151208072808.7d65bcf8@ill.fr> References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> <20151202152801.5298d6d2@ill.fr> <2f18f25bead169c7d841dacf1b24c775.squirrel@webmail.caltech.edu> <20151208072808.7d65bcf8@ill.fr> Message-ID: >> Pyro is good for python to non-python connections > > Really ? AFAK, Pyro can only be used from Pythons scripts... Ah... I was thinking of: https://github.com/irmen/Pyrolite/ which comes from the same author, and uses Pyro4. --- Mike McKerns California Institute of Technology http://www.its.caltech.edu/~mmckerns From mantegazza at ill.fr Tue Dec 8 07:54:57 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Tue, 8 Dec 2015 13:54:57 +0100 Subject: [IPython-dev] From Pyro to IPython/Jupyter In-Reply-To: References: <20151202084240.341947e5@ill.fr> <20151202131238.20f2e3b0@ill.fr> <20151202142738.58bc01ab@ill.fr> <20151202152801.5298d6d2@ill.fr> <2f18f25bead169c7d841dacf1b24c775.squirrel@webmail.caltech.edu> <20151208072808.7d65bcf8@ill.fr> Message-ID: <20151208135457.4d54c5b7@ill.fr> Le 08/12/2015, Michael a ?crit : > Ah... I was thinking of: > https://github.com/irmen/Pyrolite/ > which comes from the same author, > and uses Pyro4. I see! -- Fr?d?ric 76 17 From eric at cfa.harvard.edu Tue Dec 8 11:05:55 2015 From: eric at cfa.harvard.edu (ericmandel) Date: Tue, 8 Dec 2015 08:05:55 -0800 (PST) Subject: [IPython-dev] embedding js9 into a notebook In-Reply-To: References: <1449496158258-5178693.post@n6.nabble.com> <1449536140426-5178757.post@n6.nabble.com> Message-ID: <1449590755569-5178827.post@n6.nabble.com> Ah right, the ajax problem is caused by using the wrong link base. I'll have to think about how to deal with that. Unfortunately, cross-origin framing of our web sites is tangled in admin policy issues and it's less obvious how to deal with that. But also, it's unclear how Jupyter users will want to access JS9. From an iframe, we could offer the JS9 Web site: drag/drop data into the display. We also could offer "canned" JS9 pages with different combinations of JS9 plugin options (e.g. show the image panner and magnifier instead of bringing them up as light windows). But JS9 is a plugin library allowing Web designers to roll their own just by placing div elements containing JS9 classes on a page. Will users want to do that? I think that partly depends on what Jupyter users are accustomed to doing in general -- I have no idea about that. Hopefully Gijs will have a better feel for how the astronomical community uses Jupyter ... but comments are welcome ... Finally, if the JS9 js and css files are installed and loaded locally, possibilities open up for adding locally tailored data analysis. That might be something to move toward. But again, it depends on how people might want to use it. -- View this message in context: http://python.6.x6.nabble.com/embedding-js9-into-a-notebook-tp5173096p5178827.html Sent from the IPython - Development mailing list archive at Nabble.com. From markbak at gmail.com Wed Dec 9 03:21:43 2015 From: markbak at gmail.com (Mark Bakker) Date: Wed, 9 Dec 2015 09:21:43 +0100 Subject: [IPython-dev] Python tutorials based on notebook Message-ID: I put the Notebooks of my Introductory Programming class online. Maybe those help: https://mbakker7.github.io/exploratory_computing_with_python/ On 2015/12/03 8:34 PM, Fr?d?ric Mantegazza wrote: > Hi! > > I was wondering is there are some Python tutorials based on notebook? > Something I could re-use to make an nice intriduction to Python... > > Thanks, > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mantegazza at ill.fr Wed Dec 9 03:33:54 2015 From: mantegazza at ill.fr (=?UTF-8?B?RnLDqWTDqXJpYw==?= Mantegazza) Date: Wed, 9 Dec 2015 09:33:54 +0100 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: References: Message-ID: <20151209093354.5cf0a860@ill.fr> Le 09/12/2015, Mark a ?crit : > I put the Notebooks of my Introductory Programming class online. Maybe > those help: > > https://mbakker7.github.io/exploratory_computing_with_python/ Yes, very helpfull for our scientists! I'll transmit them your link. Thanks, -- Fr?d?ric 76 17 From pietro.terna at unito.it Wed Dec 9 03:52:55 2015 From: pietro.terna at unito.it (Pietro Terna) Date: Wed, 9 Dec 2015 09:52:55 +0100 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <20151209093354.5cf0a860@ill.fr> References: <20151209093354.5cf0a860@ill.fr> Message-ID: <5667EBE7.2010903@unito.it> Wonderful, I'll diffuse it, best, Pietro Il 09/12/15 09:33, Fr?d?ric Mantegazza ha scritto: > Le 09/12/2015, Mark a ?crit : > >> I put the Notebooks of my Introductory Programming class online. Maybe >> those help: >> >> https://mbakker7.github.io/exploratory_computing_with_python/ > Yes, very helpfull for our scientists! I'll transmit them your link. > > Thanks, > -- The world is full of interesting problems to be solved! NEW home page: http://terna.to.it A new book on ABMs: http://www.palgrave.com/page/detail/agentbased-models-of-the-economy-/?K=9781137339805 SLAPP shell for ABMs: https://github.com/terna/SLAPP/ From vsego at vsego.org Wed Dec 9 08:43:55 2015 From: vsego at vsego.org (Vedran Sego) Date: Wed, 9 Dec 2015 13:43:55 +0000 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <20151204073435.59787326@ill.fr> References: <20151204073435.59787326@ill.fr> Message-ID: Frederic, Here is the course that I gave in previous semester: http://www.maths.manchester.ac.uk/~vsego/teaching.php The materials will be removed at some point, because someone else will be teaching it in this academic year. Cheers, Vedran From zvoros at gmail.com Wed Dec 9 08:47:09 2015 From: zvoros at gmail.com (=?UTF-8?B?Wm9sdMOhbiBWw7Zyw7Zz?=) Date: Wed, 9 Dec 2015 14:47:09 +0100 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: References: <20151204073435.59787326@ill.fr> Message-ID: <566830DD.10505@gmail.com> Vedran, If you think it's worth it, why don't you upload it to github? It is really annoying, when one finds orphaned links, and your comment indicates, that this is what is going to happen here. Cheers, Zolt?n On 12/09/2015 02:43 PM, Vedran Sego wrote: > Frederic, > > Here is the course that I gave in previous semester: > http://www.maths.manchester.ac.uk/~vsego/teaching.php > > The materials will be removed at some point, because someone else will > be teaching it in this academic year. > > Cheers, > > Vedran > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev From carl.input at gmail.com Wed Dec 9 08:51:56 2015 From: carl.input at gmail.com (Carl Smith) Date: Wed, 09 Dec 2015 13:51:56 +0000 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <566830DD.10505@gmail.com> References: <20151204073435.59787326@ill.fr> <566830DD.10505@gmail.com> Message-ID: It is a real shame to see valuable resources go offline. GitHub is an excellent place to archive that stuff. Other people can find it, and can easily start a fork if they want to develop it further. It's totally free for open source projects too. On Wed, 9 Dec 2015 13:47 Zolt?n V?r?s wrote: > Vedran, > > If you think it's worth it, why don't you upload it to github? It is > really annoying, when one finds orphaned links, and your comment > indicates, that this is what is going to happen here. > > Cheers, > > Zolt?n > > On 12/09/2015 02:43 PM, Vedran Sego wrote: > > Frederic, > > > > Here is the course that I gave in previous semester: > > http://www.maths.manchester.ac.uk/~vsego/teaching.php > > > > The materials will be removed at some point, because someone else will > > be teaching it in this academic year. > > > > Cheers, > > > > Vedran > > _______________________________________________ > > IPython-dev mailing list > > IPython-dev at scipy.org > > https://mail.scipy.org/mailman/listinfo/ipython-dev > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan.taylor at stanford.edu Thu Dec 10 02:00:35 2015 From: jonathan.taylor at stanford.edu (Jonathan Taylor) Date: Wed, 9 Dec 2015 23:00:35 -0800 Subject: [IPython-dev] not sure where to report this Message-ID: I have a gist (https://gist.github.com/jonathan-taylor/04cc0306a08fb15c4c30 ) with some MathJax that renders fine on chrome and safari but not on firefox. Same problem on two different macs. Possibly other browsers as well (Rob?) Machine #1: chrome (47.0.2526.80), safari (9.0.1), firefox (42.0). OS X (10.10.5) Machine #2: chrome ( 47.0.2526.73), safari (9.0.1), firefox (42.0). OS X (10.11.1) (I presume OS is not relevant but including it just in case) -- Jonathan Taylor Dept. of Statistics Sequoia Hall, 137 390 Serra Mall Stanford, CA 94305 Tel: 650.723.9230 Fax: 650.725.8977 Web: http://www-stat.stanford.edu/~jtaylo -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Thu Dec 10 02:29:04 2015 From: fperez.net at gmail.com (Fernando Perez) Date: Wed, 9 Dec 2015 23:29:04 -0800 Subject: [IPython-dev] not sure where to report this In-Reply-To: References: Message-ID: On Wed, Dec 9, 2015 at 11:00 PM, Jonathan Taylor < jonathan.taylor at stanford.edu> wrote: > I have a gist ( > https://gist.github.com/jonathan-taylor/04cc0306a08fb15c4c30 ) with some > MathJax that renders fine on chrome and safari but not on firefox. Same > problem on two different macs. Possibly other browsers as well (Rob?) > > Machine #1: chrome (47.0.2526.80), safari (9.0.1), firefox (42.0). OS X > (10.10.5) > > Machine #2: chrome ( 47.0.2526.73), safari (9.0.1), firefox (42.0). OS X > (10.11.1) > > (I presume OS is not relevant but including it just in case) > Mmh, the issue is actually that on github, the math renderer is *not* the full MathJax, but an internal library with different and more limited capabilities. If you render this same gist on nbviewer, which does use the full MathJax, it works fine also on Firefox (I just tested, and I do see the problem on the github-based render): http://nbviewer.jupyter.org/gist/jonathan-taylor/04cc0306a08fb15c4c30 These bugs aren't in our renderer, so they should be sent directly to support at github.com so they can fix them in the github renderer itself... Cheers f -- Fernando Perez (@fperez_org; http://fperez.org) fperez.net-at-gmail: mailing lists only (I ignore this when swamped!) fernando.perez-at-berkeley: contact me here for any direct mail -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan.taylor at stanford.edu Fri Dec 11 13:34:05 2015 From: jonathan.taylor at stanford.edu (Jonathan Taylor) Date: Fri, 11 Dec 2015 10:34:05 -0800 Subject: [IPython-dev] not sure where to report this In-Reply-To: References: Message-ID: Thanks. I thought it was probably github's implementation of LaTeX but wasn't sure where to send it. On Wed, Dec 9, 2015 at 11:29 PM, Fernando Perez wrote: > > On Wed, Dec 9, 2015 at 11:00 PM, Jonathan Taylor < > jonathan.taylor at stanford.edu> wrote: > >> I have a gist ( >> https://gist.github.com/jonathan-taylor/04cc0306a08fb15c4c30 ) with some >> MathJax that renders fine on chrome and safari but not on firefox. Same >> problem on two different macs. Possibly other browsers as well (Rob?) >> >> Machine #1: chrome (47.0.2526.80), safari (9.0.1), firefox (42.0). OS X >> (10.10.5) >> >> Machine #2: chrome ( 47.0.2526.73), safari (9.0.1), firefox (42.0). OS X >> (10.11.1) >> >> (I presume OS is not relevant but including it just in case) >> > > Mmh, the issue is actually that on github, the math renderer is *not* the > full MathJax, but an internal library with different and more limited > capabilities. > > If you render this same gist on nbviewer, which does use the full MathJax, > it works fine also on Firefox (I just tested, and I do see the problem on > the github-based render): > > http://nbviewer.jupyter.org/gist/jonathan-taylor/04cc0306a08fb15c4c30 > > These bugs aren't in our renderer, so they should be sent directly to > support at github.com so they can fix them in the github renderer itself... > > Cheers > > f > > > > -- > Fernando Perez (@fperez_org; http://fperez.org) > fperez.net-at-gmail: mailing lists only (I ignore this when swamped!) > fernando.perez-at-berkeley: contact me here for any direct mail > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > > -- Jonathan Taylor Dept. of Statistics Sequoia Hall, 137 390 Serra Mall Stanford, CA 94305 Tel: 650.723.9230 Fax: 650.725.8977 Web: http://www-stat.stanford.edu/~jtaylo -------------- next part -------------- An HTML attachment was scrubbed... URL: From bussonniermatthias at gmail.com Fri Dec 11 13:39:18 2015 From: bussonniermatthias at gmail.com (Matthias Bussonnier) Date: Fri, 11 Dec 2015 19:39:18 +0100 Subject: [IPython-dev] Notebook 4.1.0 beta out. Message-ID: Cf annouce on Jupyter ML: https://groups.google.com/forum/#!topic/jupyter/szzD8arkDv0 TL;DR: Please backup your files, install the notebook 4.1-beta with python -m pip install notebook --pre --upgrade and then send us feedback. -- M -------------- next part -------------- An HTML attachment was scrubbed... URL: From bussonniermatthias at gmail.com Mon Dec 14 06:58:32 2015 From: bussonniermatthias at gmail.com (Matthias Bussonnier) Date: Mon, 14 Dec 2015 12:58:32 +0100 Subject: [IPython-dev] Should we do an IPython 4.1 soon ? Message-ID: Hi all, With the separation of the multiple project, as of The Big Split, the pace on IPython terminal itself has been much slower than usual, with relatively low number of new features, but still a few bug fixes and improvement here and there that users are waiting for. For example no PR merged in 13 days as of this writing, and nothing especially important for 4.1. I propose that we release a 4.1 mostly bug fix soon (monthish ? Earlier ?), and try to keep now a relatively slow moving, regular minor release for the 4.x branch, like one minor release every 8 weeks. I?ve already put a 4.1 release for mid January in GitHub, and 4.2 2 month after that. I think a regular release schedule would be welcomed for us (we tend to live of master and forget that end user experience bugs) and for end user to know what to expect. That would likely mean that any API breakage PR would be targeted as 5.0 branch. Thoughts ? -- M From benjaminrk at gmail.com Mon Dec 14 07:39:12 2015 From: benjaminrk at gmail.com (MinRK) Date: Mon, 14 Dec 2015 13:39:12 +0100 Subject: [IPython-dev] Should we do an IPython 4.1 soon ? In-Reply-To: References: Message-ID: Given the resources involved in getting notebook-4.1 out the door, I think we should probably focus on that and wait on starting the IPython release process until notebook-4.1 ships, but I think we can start IPython 4.1 immediately after we ship the notebook release. I think IPython's in a pretty releasable state right now, so it shouldn't take long to ship IPython 4.1. -MinRK On Mon, Dec 14, 2015 at 12:58 PM, Matthias Bussonnier < bussonniermatthias at gmail.com> wrote: > Hi all, > > With the separation of the multiple project, as of The Big Split, > the pace on IPython terminal itself has been much slower than usual, with > relatively low number of new features, but still a few bug fixes and > improvement > here and there that users are waiting for. > > For example no PR merged in 13 days as of this writing, and nothing > especially important for 4.1. > > I propose that we release a 4.1 mostly bug fix soon (monthish ? Earlier > ?), and try to keep now a relatively > slow moving, regular minor release for the 4.x branch, like one minor > release every 8 weeks. > I?ve already put a 4.1 release for mid January in GitHub, and 4.2 2 month > after that. > > I think a regular release schedule would be welcomed for us (we tend to > live of master and forget that end user > experience bugs) and for end user to know what to expect. > > That would likely mean that any API breakage PR would be targeted as 5.0 > branch. > > Thoughts ? > -- > M > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ellisonbg at gmail.com Mon Dec 14 11:47:58 2015 From: ellisonbg at gmail.com (Brian Granger) Date: Mon, 14 Dec 2015 08:47:58 -0800 Subject: [IPython-dev] Should we do an IPython 4.1 soon ? In-Reply-To: References: Message-ID: I agree that we should release it soon, but let's get the notebook out the door first. On Mon, Dec 14, 2015 at 4:39 AM, MinRK wrote: > Given the resources involved in getting notebook-4.1 out the door, I think > we should probably focus on that and wait on starting the IPython release > process until notebook-4.1 ships, but I think we can start IPython 4.1 > immediately after we ship the notebook release. I think IPython's in a > pretty releasable state right now, so it shouldn't take long to ship IPython > 4.1. > > -MinRK > > On Mon, Dec 14, 2015 at 12:58 PM, Matthias Bussonnier > wrote: >> >> Hi all, >> >> With the separation of the multiple project, as of The Big Split, >> the pace on IPython terminal itself has been much slower than usual, with >> relatively low number of new features, but still a few bug fixes and >> improvement >> here and there that users are waiting for. >> >> For example no PR merged in 13 days as of this writing, and nothing >> especially important for 4.1. >> >> I propose that we release a 4.1 mostly bug fix soon (monthish ? Earlier >> ?), and try to keep now a relatively >> slow moving, regular minor release for the 4.x branch, like one minor >> release every 8 weeks. >> I?ve already put a 4.1 release for mid January in GitHub, and 4.2 2 month >> after that. >> >> I think a regular release schedule would be welcomed for us (we tend to >> live of master and forget that end user >> experience bugs) and for end user to know what to expect. >> >> That would likely mean that any API breakage PR would be targeted as 5.0 >> branch. >> >> Thoughts ? >> -- >> M >> >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> https://mail.scipy.org/mailman/listinfo/ipython-dev > > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > -- Brian E. Granger Associate Professor of Physics and Data Science Cal Poly State University, San Luis Obispo @ellisonbg on Twitter and GitHub bgranger at calpoly.edu and ellisonbg at gmail.com From faltet at gmail.com Tue Dec 15 04:10:23 2015 From: faltet at gmail.com (Francesc Alted) Date: Tue, 15 Dec 2015 10:10:23 +0100 Subject: [IPython-dev] Editing a table in the notebook Message-ID: Hi, I am trying to see if there is an easy way to edit a table (pandas dataframe or whatever that can be seen as tabular data) inside the jupyter notebook. Right now, I am trying to make the handsontable (http://handsontable.com/) widget to work using this recipe by Cyrille Rossant: https://gist.github.com/rossant/9463955. However, after spending a couple of hours, I still cannot do that with a recent version of Jupyter (1.0.0) and ipywidgets (4.1.0). I think the problem is the location of where to put the .js and .css files. So following the recipe above, I copied a couple of handsontable files in: $ ll ~/.ipython/profile_default/static/custom total 1048 drwxrwxr-x 2 faltet faltet 4096 dic 15 09:22 ./ drwxrwxr-x 3 faltet faltet 4096 dic 15 09:15 ../ -rw-rw-r-- 1 faltet faltet 47 dic 15 09:22 custom.css -rw-rw-r-- 1 faltet faltet 50 dic 15 09:22 custom.js -rw-rw-r-- 1 faltet faltet 27378 dic 15 09:17 handsontable.full.css -rw-rw-r-- 1 faltet faltet 1024388 dic 15 09:17 handsontable.full.js $ cat ~/.ipython/profile_default/static/custom/custom.css @import "/static/custom/handsontable.full.css" $ cat ~/.ipython/profile_default/static/custom/custom.js require(['/static/custom/handsontable.full.js']); But I keep getting the next messages in the console: [W 09:48:26.860 NotebookApp] 404 GET /static/custom/handsontable.full.css (127.0.0.1) 7.69ms referer=http://localhost:8888/custom/cu stom.css [W 09:48:27.267 NotebookApp] Notebook handsondataframe.ipynb is not trusted [W 09:48:27.292 NotebookApp] 404 GET /static/custom/handsontable.full.js?v=20151215094826 (127.0.0.1) 2.03ms referer=http://localhos t:8888/notebooks/handsondataframe.ipynb so, 404 is a clear indication that the files have not been found. My guess is that the place to put .css and .js files has changed in newer versions of IPython/Jupyter notebook. Hints? -- Francesc Alted -------------- next part -------------- An HTML attachment was scrubbed... URL: From kikocorreoso at gmail.com Tue Dec 15 04:26:39 2015 From: kikocorreoso at gmail.com (Kiko) Date: Tue, 15 Dec 2015 10:26:39 +0100 Subject: [IPython-dev] Editing a table in the notebook In-Reply-To: References: Message-ID: 2015-12-15 10:10 GMT+01:00 Francesc Alted : > Hi, > > I am trying to see if there is an easy way to edit a table (pandas > dataframe or whatever that can be seen as tabular data) inside the jupyter > notebook. > Hi, Francesc. I think qgrid does what you want. If not, at least can provide you some hints: https://github.com/quantopian/qgrid > > Right now, I am trying to make the handsontable (http://handsontable.com/) > widget to work using this recipe by Cyrille Rossant: > https://gist.github.com/rossant/9463955. However, after spending a > couple of hours, I still cannot do that with a recent version of Jupyter > (1.0.0) and ipywidgets (4.1.0). > > I think the problem is the location of where to put the .js and .css > files. So following the recipe above, I copied a couple of handsontable > files in: > > $ ll ~/.ipython/profile_default/static/custom > total 1048 > drwxrwxr-x 2 faltet faltet 4096 dic 15 09:22 ./ > drwxrwxr-x 3 faltet faltet 4096 dic 15 09:15 ../ > -rw-rw-r-- 1 faltet faltet 47 dic 15 09:22 custom.css > -rw-rw-r-- 1 faltet faltet 50 dic 15 09:22 custom.js > -rw-rw-r-- 1 faltet faltet 27378 dic 15 09:17 handsontable.full.css > -rw-rw-r-- 1 faltet faltet 1024388 dic 15 09:17 handsontable.full.js > $ cat ~/.ipython/profile_default/static/custom/custom.css > @import "/static/custom/handsontable.full.css" > $ cat ~/.ipython/profile_default/static/custom/custom.js > require(['/static/custom/handsontable.full.js']); > > But I keep getting the next messages in the console: > > [W 09:48:26.860 NotebookApp] 404 GET /static/custom/handsontable.full.css > (127.0.0.1) 7.69ms referer=http://localhost:8888/custom/cu > stom.css > [W 09:48:27.267 NotebookApp] Notebook handsondataframe.ipynb is not > trusted > [W 09:48:27.292 NotebookApp] 404 GET > /static/custom/handsontable.full.js?v=20151215094826 (127.0.0.1) 2.03ms > referer=http://localhos > t:8888/notebooks/handsondataframe.ipynb > > so, 404 is a clear indication that the files have not been found. > > My guess is that the place to put .css and .js files has changed in newer > versions of IPython/Jupyter notebook. > > Hints? > > -- > Francesc Alted > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From faltet at gmail.com Tue Dec 15 05:29:25 2015 From: faltet at gmail.com (Francesc Alted) Date: Tue, 15 Dec 2015 11:29:25 +0100 Subject: [IPython-dev] Editing a table in the notebook In-Reply-To: References: Message-ID: 2015-12-15 10:26 GMT+01:00 Kiko : > > > 2015-12-15 10:10 GMT+01:00 Francesc Alted : > >> Hi, >> >> I am trying to see if there is an easy way to edit a table (pandas >> dataframe or whatever that can be seen as tabular data) inside the jupyter >> notebook. >> > > Hi, Francesc. > > I think qgrid does what you want. If not, at least can provide you some > hints: > https://github.com/quantopian/qgrid > Wow, qgrid works like a charm. Initially I thought there was not provision for editing the table and propagate the changes back to the dataframe, but actually it does, so woohoo! Just for the record, I noticed that qgrid does install the .js and .css files in: $ ls ~/.local/share/jupyter/nbextensions/qgridjs/ __init__.py lib qgrid.datefilter.js qgrid.filterbase.js qgrid.securityfilter.js qgrid.textfilter.js __init__.pyc qgrid.css qgrid.editors.js qgrid.js qgrid.sliderfilter.js qgrid.widget.js and not in ~/.ipython/profile_default/static/custom . I suppose this change of configuration paths in newer IPython/Jupyter is responsible for my previous attempts with the handsontable and the recipe in https://gist.github.com/rossant/9463955 to fail in my setup. Thank you! -- Francesc Alted -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Tue Dec 15 06:03:26 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Tue, 15 Dec 2015 11:03:26 +0000 Subject: [IPython-dev] Editing a table in the notebook In-Reply-To: References: Message-ID: On 15 December 2015 at 10:29, Francesc Alted wrote: > Just for the record, I noticed that qgrid does install the .js and .css > files in: > > $ ls ~/.local/share/jupyter/nbextensions/qgridjs/ > __init__.py lib qgrid.datefilter.js qgrid.filterbase.js > qgrid.securityfilter.js qgrid.textfilter.js > __init__.pyc qgrid.css qgrid.editors.js qgrid.js > qgrid.sliderfilter.js qgrid.widget.js > > and not in ~/.ipython/profile_default/static/custom . I suppose this > change of configuration paths in newer IPython/Jupyter is responsible for > my previous attempts with the handsontable and the recipe in > https://gist.github.com/rossant/9463955 to fail in my setup. > You suppose correctly. :-) The notebook, along with all the other language independent parts, comes under the Jupyter name. You can see where it looks for different kinds of files on your system by running: jupyter --paths Notebook extensions are looked up in the set of paths marked 'data'. Best wishes, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From fperez.net at gmail.com Tue Dec 15 18:13:06 2015 From: fperez.net at gmail.com (Fernando Perez) Date: Tue, 15 Dec 2015 15:13:06 -0800 Subject: [IPython-dev] Should we do an IPython 4.1 soon ? In-Reply-To: References: Message-ID: On Mon, Dec 14, 2015 at 8:47 AM, Brian Granger wrote: > I agree that we should release it soon, but let's get the notebook out > the door first. > Please :) -- Fernando Perez (@fperez_org; http://fperez.org) fperez.net-at-gmail: mailing lists only (I ignore this when swamped!) fernando.perez-at-berkeley: contact me here for any direct mail -------------- next part -------------- An HTML attachment was scrubbed... URL: From ceball at gmail.com Wed Dec 16 08:10:35 2015 From: ceball at gmail.com (Chris Ball) Date: Wed, 16 Dec 2015 13:10:35 +0000 Subject: [IPython-dev] No information about exceptions available from nbconvert output? Message-ID: <1450271435.334570.469024073.0F5C7205@webmail.messagingengine.com> Hi If a notebook cell causes an exception, there doesn't seem to be any way to see the traceback in the output of nbconvert. For instance, with the command ``jupyter nbconvert --execute --to html hello.ipynb`` I get the following output for various combinations of nbconvert version and options, but the output never includes the actual traceback... 4.0.0: ``` $ jupyter nbconvert --execute --to html hello.ipynb [...] [NbConvertApp] ERROR | failed to run cell: CellExecutionError() [NbConvertApp] ERROR | raise NotImplementedError('hello') [NbConvertApp] ERROR | Error while converting 'hello.ipynb' Traceback (most recent call last): File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/nbconvertapp.py", line 332, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 166, in from_filename return self.from_notebook_node(nbformat.read(f, as_version=4), resources=resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/html.py", line 65, in from_notebook_node return super(HTMLExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/templateexporter.py", line 198, in from_notebook_node nb_copy, resources = super(TemplateExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 131, in from_notebook_node nb_copy, resources = self._preprocess(nb_copy, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 303, in _preprocess nbc, resc = preprocessor(nbc, resc) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 47, in __call__ return self.preprocess(nb,resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 83, in preprocess nb, resources = super(ExecutePreprocessor, self).preprocess(nb, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 70, in preprocess nb.cells[index], resources = self.preprocess_cell(cell, resources, index) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 97, in preprocess_cell outputs = self.run_cell(cell) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 129, in run_cell raise CellExecutionError(msg['content']['traceback']) CellExecutionError ``` 4.0.0 with ``--Application.log_level=DEBUG``: ``` [...] [NbConvertApp] Executing cell: raise NotImplementedError('hello') [NbConvertApp] ERROR | failed to run cell: CellExecutionError() [NbConvertApp] ERROR | raise NotImplementedError('hello') [NbConvertApp] ERROR | Error while converting 'hello.ipynb' Traceback (most recent call last): File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/nbconvertapp.py", line 332, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 166, in from_filename return self.from_notebook_node(nbformat.read(f, as_version=4), resources=resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/html.py", line 65, in from_notebook_node return super(HTMLExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/templateexporter.py", line 198, in from_notebook_node nb_copy, resources = super(TemplateExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 131, in from_notebook_node nb_copy, resources = self._preprocess(nb_copy, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 303, in _preprocess nbc, resc = preprocessor(nbc, resc) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 47, in __call__ return self.preprocess(nb,resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 83, in preprocess nb, resources = super(ExecutePreprocessor, self).preprocess(nb, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 70, in preprocess nb.cells[index], resources = self.preprocess_cell(cell, resources, index) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 97, in preprocess_cell outputs = self.run_cell(cell) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 129, in run_cell raise CellExecutionError(msg['content']['traceback']) CellExecutionError ``` Current master (71e80ef6f4930a06087b8bd32f0e209af1393e59): ``` [...] [NbConvertApp] ERROR | Error while converting 'hello.ipynb' Traceback (most recent call last): File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/nbconvertapp.py", line 335, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 165, in from_filename return self.from_notebook_node(nbformat.read(f, as_version=4), resources=resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/html.py", line 65, in from_notebook_node return super(HTMLExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/templateexporter.py", line 196, in from_notebook_node nb_copy, resources = super(TemplateExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 130, in from_notebook_node nb_copy, resources = self._preprocess(nb_copy, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 302, in _preprocess nbc, resc = preprocessor(nbc, resc) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 47, in __call__ return self.preprocess(nb,resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 83, in preprocess nb, resources = super(ExecutePreprocessor, self).preprocess(nb, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 70, in preprocess nb.cells[index], resources = self.preprocess_cell(cell, resources, index) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 112, in preprocess_cell raise CellExecutionError(msg) CellExecutionError ``` Current master with with ``--Application.log_level=DEBUG``: ``` [...] [NbConvertApp] Executing cell: raise NotImplementedError('hello') [NbConvertApp] output: status [NbConvertApp] output: execute_input [NbConvertApp] output: error [NbConvertApp] output: status [NbConvertApp] ERROR | Error while converting 'hello.ipynb' Traceback (most recent call last): File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/nbconvertapp.py", line 335, in export_single_notebook output, resources = self.exporter.from_filename(notebook_filename, resources=resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 165, in from_filename return self.from_notebook_node(nbformat.read(f, as_version=4), resources=resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/html.py", line 65, in from_notebook_node return super(HTMLExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/templateexporter.py", line 196, in from_notebook_node nb_copy, resources = super(TemplateExporter, self).from_notebook_node(nb, resources, **kw) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 130, in from_notebook_node nb_copy, resources = self._preprocess(nb_copy, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/exporters/exporter.py", line 302, in _preprocess nbc, resc = preprocessor(nbc, resc) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 47, in __call__ return self.preprocess(nb,resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 83, in preprocess nb, resources = super(ExecutePreprocessor, self).preprocess(nb, resources) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/base.py", line 70, in preprocess nb.cells[index], resources = self.preprocess_cell(cell, resources, index) File "/x/y/anaconda230/lib/python2.7/site-packages/nbconvert/preprocessors/execute.py", line 112, in preprocess_cell raise CellExecutionError(msg) CellExecutionError ``` Am I doing something wrong, or does what I'm looking for make no sense? I could run nbconvert with ``--allow-errors`` and then inspect the html, but that seems like a difficult way to obtain the information (e.g. on a build server where nbconvert is being used to test a notebook). Thanks Chris From vsego at vsego.org Tue Dec 22 09:05:46 2015 From: vsego at vsego.org (Vedran Sego) Date: Tue, 22 Dec 2015 14:05:46 +0000 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <566830DD.10505@gmail.com> References: <20151204073435.59787326@ill.fr> <566830DD.10505@gmail.com> Message-ID: On 9 December 2015 at 13:47, Zolt?n V?r?s wrote: > If you think it's worth it, why don't you upload it to github? It is really > annoying, when one finds orphaned links, and your comment indicates, that > this is what is going to happen here. Sorry for the delay, I had to check with the University if it's OK to publish it. Here: https://github.com/vsego/python-lecture-notes Cheers, V. From steve at holdenweb.com Tue Dec 22 13:30:42 2015 From: steve at holdenweb.com (Steve Holden) Date: Tue, 22 Dec 2015 18:30:42 +0000 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: <566830DD.10505@gmail.com> References: <20151204073435.59787326@ill.fr> <566830DD.10505@gmail.com> Message-ID: <4A865A8A-E23B-4927-B488-402FED3FFB5E@holdenweb.com> Great idea! S Sent from my iPhone > On 9 Dec 2015, at 13:47, Zolt?n V?r?s wrote: > > Vedran, > > If you think it's worth it, why don't you upload it to github? It is really annoying, when one finds orphaned links, and your comment indicates, that this is what is going to happen here. > > Cheers, > > Zolt?n > >> On 12/09/2015 02:43 PM, Vedran Sego wrote: >> Frederic, >> >> Here is the course that I gave in previous semester: >> http://www.maths.manchester.ac.uk/~vsego/teaching.php >> >> The materials will be removed at some point, because someone else will >> be teaching it in this academic year. >> >> Cheers, >> >> Vedran >> _______________________________________________ >> IPython-dev mailing list >> IPython-dev at scipy.org >> https://mail.scipy.org/mailman/listinfo/ipython-dev > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev From fperez.net at gmail.com Tue Dec 22 14:15:43 2015 From: fperez.net at gmail.com (Fernando Perez) Date: Tue, 22 Dec 2015 11:15:43 -0800 Subject: [IPython-dev] [ANN-JOB] Project Jupyter is hiring a Project Manager - position at UC Berkeley Message-ID: Hi all, [ please direct all replies directly to me ] Project Jupyter is announcing the opening of a position for a full-time project manager, who will help us coordinate our technical development, engage the open source community and work with our multiple stakeholders in academia and industry. If you have experience leading technical teams in open source communities, we'd love to hear from you! In the last few years the project has rapidly grown in multiple directions, and this presents both challenges and opportunities. We are looking for someone who can help us harness the energy and activity from our many contributors that include those funded by our research grants, our industry partners, and the entire open source community. The role of the project manager is to help us maintain this activity focused into a solid whole, so we can deliver timely and robust releases, evolve our architecture coherently, ensure our documentation and communication matches our technical foundation, and continue engaging a wide range of stakeholders to evolve the project in new, interesting and valuable directions. This position will be hosted at the Berkeley Institute for Data Science, working locally with Fernando Perez, Matthias Bussonnier, and our new postdoctoral scholars. But the scope of this role is the entire project, so we are looking for a candidate who will be regularly communicating with project stakeholders from all locations, traveling to conferences, development workshops and other project activities. For specific details on the position and to apply, you can learn more at jobs.berkeley.edu, Job ID #20975: https://hrw-vip-prod.is.berkeley.edu/psc/JOBSPROD/EMPLOYEE/HRMS/c/HRS_HRAM.HRS_CE.GBL?Page=HRS_CE_JOB_DTL&Action=A&JobOpeningId=20975&SiteId=1&PostingSeq=1& Note that while the application review date is listed as January 1, 2016, we will be considering applicants past that date (that is the cutoff for us to be allowed to look at incoming applications). The search will remain open until filled. -- Fernando Perez (@fperez_org; http://fperez.org) fperez.net-at-gmail: mailing lists only (I ignore this when swamped!) fernando.perez-at-berkeley: contact me here for any direct mail -------------- next part -------------- An HTML attachment was scrubbed... URL: From zvoros at gmail.com Wed Dec 23 02:51:05 2015 From: zvoros at gmail.com (=?UTF-8?B?Wm9sdMOhbiBWw7Zyw7Zz?=) Date: Wed, 23 Dec 2015 08:51:05 +0100 Subject: [IPython-dev] Python tutorials based on notebook In-Reply-To: References: <20151204073435.59787326@ill.fr> <566830DD.10505@gmail.com> Message-ID: <567A5269.20706@gmail.com> Vedran, Many thanks! This way it won't sink into oblivion:) Cheers, Zolt?n On 12/22/2015 03:05 PM, Vedran Sego wrote: > On 9 December 2015 at 13:47, Zolt?n V?r?s wrote: >> If you think it's worth it, why don't you upload it to github? It is really >> annoying, when one finds orphaned links, and your comment indicates, that >> this is what is going to happen here. > Sorry for the delay, I had to check with the University if it's OK to > publish it. Here: > https://github.com/vsego/python-lecture-notes > > Cheers, > > V. > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev From ewm at redtetrahedron.org Wed Dec 23 12:30:22 2015 From: ewm at redtetrahedron.org (Eric Moore) Date: Wed, 23 Dec 2015 12:30:22 -0500 Subject: [IPython-dev] (no subject) Message-ID: Hi, I'm using the qtconsole, version 4.0.1. It was installed using conda from miniconda for windows (64 bit), running on windows 7 64 bit. Sometimes when the current entry is at the bottom of the window, the window does not scroll to display all of the output. I'm also occasionally seeing the output overlaping with the next input. E.g. "IOut[19]: n [20]:" is printed followed by the output on the next line with the cursor on the last line of the output. Sometimes when this happens just pressing enter will give me a clean input prompt on the next line. Other times it seems to hang and recover after a few seconds. Still other times it hangs completely and will not accept any more input. Given the big split, I'm not sure where to start looking and I don't really have any guesses about what the problem might be. Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From bussonniermatthias at gmail.com Wed Dec 23 12:37:13 2015 From: bussonniermatthias at gmail.com (Matthias Bussonnier) Date: Wed, 23 Dec 2015 18:37:13 +0100 Subject: [IPython-dev] (no subject) In-Reply-To: References: Message-ID: > On Dec 23, 2015, at 18:30, Eric Moore wrote: > > Hi, > > I'm using the qtconsole, version 4.0.1. It was installed using conda from miniconda for windows (64 bit), running on windows 7 64 bit. > > Sometimes when the current entry is at the bottom of the window, the window does not scroll to display all of the output. I'm also occasionally seeing the output overlaping with the next input. E.g. "IOut[19]: n [20]:" is printed followed by the output on the next line with the cursor on the last line of the output. Sometimes when this happens just pressing enter will give me a clean input prompt on the next line. Other times it seems to hang and recover after a few seconds. Still other times it hangs completely and will not accept any more input. > > Given the big split, I'm not sure where to start looking and I don't really have any guesses about what the problem might be. Hi Eric, That seem QtConsole specific, so that will be this repo: https://github.com/jupyter/qtconsole I?m not sure what can cause this though. -- M > > Eric > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev -------------- next part -------------- An HTML attachment was scrubbed... URL: From liefeld at broadinstitute.org Wed Dec 23 17:06:59 2015 From: liefeld at broadinstitute.org (Ted Liefeld) Date: Wed, 23 Dec 2015 14:06:59 -0800 Subject: [IPython-dev] How to load an extension into every notebook on a server Message-ID: I am building a Docker image to have a Jupyter server with the GenePattern notebook extension in it. So far so good except that in every notebook I have to enter %reload_ext genepattern into the first cell to make the extension active. I have been prowling through the docs and have tried putting this command in lots of places, none of which have worked (e.g. ~/.jupyter/jupyter_notebook_config.py, ~/.ipython/profile_default/startup/ipython_notebook_config.py) both normally (ie as above) and also as a config setting c.InteractiveShellApp.exec_lines = ['%reload_ext genepattern'] It seems with all the layers of config I am not finding the right one to insert this at. Can anyone point me in the right direction? My current container is using Jupyter 4.0.6, IPython 4.0.1 and Python 3.4.3. Thanks Ted -- Ted Liefeld UC San Diego Mesirov Lab liefeld at ucsd.edu Office 2A24, BRF-II 858-534-2010 -------------- next part -------------- An HTML attachment was scrubbed... URL: From takowl at gmail.com Wed Dec 23 17:27:00 2015 From: takowl at gmail.com (Thomas Kluyver) Date: Wed, 23 Dec 2015 22:27:00 +0000 Subject: [IPython-dev] How to load an extension into every notebook on a server In-Reply-To: References: Message-ID: Looking at the Genepattern code [1], it's using display() to publish data. The notebook interface will only actually use the Javascript that sends if it's coming from code run in a cell, so that part of the loading can't work at startup. I think we'd probably encourage you to keep putting the command to load the extension at the top of every notebook, by analogy with a similar situation we had with pylab. It used to be possible to run "ipython notebook --pylab", and have a lot of numpy & matplotlib functions pre-loaded into the namespace. But this produces notebooks which can only be run by someone starting the notebook server in the same way. We found it better to use a '%pylab' magic inside the notebook when we want the namespace set up like that. I think loading the genepattern extension is a similar thing: it's clearer what's going on when that lives inside the notebook, rather than hidden in your config. [1] https://github.com/genepattern/genepattern-notebook/blob/master/profile/extensions/genepattern.py Thomas On 23 December 2015 at 22:06, Ted Liefeld wrote: > I am building a Docker image to have a Jupyter server with the GenePattern > notebook extension in it. So far so good except that in every notebook I > have to enter > > %reload_ext genepattern > > into the first cell to make the extension active. I have been prowling > through the docs and have tried putting this command in lots of places, > none of which have worked (e.g. ~/.jupyter/jupyter_notebook_config.py, > ~/.ipython/profile_default/startup/ipython_notebook_config.py) both > normally (ie as above) and also as a config setting > c.InteractiveShellApp.exec_lines = ['%reload_ext genepattern'] > > It seems with all the layers of config I am not finding the right one to > insert this at. Can anyone point me in the right direction? My current > container is using Jupyter 4.0.6, IPython 4.0.1 and Python 3.4.3. > > Thanks > > Ted > > > -- > Ted Liefeld UC San Diego > Mesirov Lab liefeld at ucsd.edu > > Office 2A24, BRF-II 858-534-2010 > > > _______________________________________________ > IPython-dev mailing list > IPython-dev at scipy.org > https://mail.scipy.org/mailman/listinfo/ipython-dev > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From liefeld at broadinstitute.org Thu Dec 24 08:13:25 2015 From: liefeld at broadinstitute.org (Ted Liefeld) Date: Thu, 24 Dec 2015 05:13:25 -0800 Subject: [IPython-dev] How to load an extension into every notebook on a server In-Reply-To: References: Message-ID: *Aside: Wish I knew how to reply to a thread in the digest on mailman too...* Thomas what you says makes sense about having the magic be explicit in the notebook. For the Docker server though I'd still like to not have to make users remember to insert it themselves because they have just started the GP-noteook-jupyter container so they (or at least I) would expect it to just work. So whats your opinion of if I were to modify the jupyter in the container (assuming its possible) to make the default empty python 3 notebook have one cell at its top with the magic line in it? Ted Date: Wed, 23 Dec 2015 22:27:00 +0000 From: Thomas Kluyver To: IPython developers list Subject: Re: [IPython-dev] How to load an extension into every notebook on a server Message-ID: Content-Type: text/plain; charset="utf-8" Looking at the Genepattern code [1], it's using display() to publish data. The notebook interface will only actually use the Javascript that sends if it's coming from code run in a cell, so that part of the loading can't work at startup. I think we'd probably encourage you to keep putting the command to load the extension at the top of every notebook, by analogy with a similar situation we had with pylab. It used to be possible to run "ipython notebook --pylab", and have a lot of numpy & matplotlib functions pre-loaded into the namespace. But this produces notebooks which can only be run by someone starting the notebook server in the same way. We found it better to use a '%pylab' magic inside the notebook when we want the namespace set up like that. I think loading the genepattern extension is a similar thing: it's clearer what's going on when that lives inside the notebook, rather than hidden in your config. [1] https://github.com/genepattern/genepattern-notebook/blob/master/profile/extensions/genepattern.py Thomas On 23 December 2015 at 22:06, Ted Liefeld wrote: > I am building a Docker image to have a Jupyter server with the GenePattern > notebook extension in it. So far so good except that in every notebook I > have to enter > > %reload_ext genepattern > > into the first cell to make the extension active. I have been prowling > through the docs and have tried putting this command in lots of places, > none of which have worked (e.g. ~/.jupyter/jupyter_notebook_config.py, > ~/.ipython/profile_default/startup/ipython_notebook_config.py) both > normally (ie as above) and also as a config setting > c.InteractiveShellApp.exec_lines = ['%reload_ext genepattern'] > > It seems with all the layers of config I am not finding the right one to > insert this at. Can anyone point me in the right direction? My current > container is using Jupyter 4.0.6, IPython 4.0.1 and Python 3.4.3. > > Thanks > > Ted > > On Wed, Dec 23, 2015 at 2:06 PM, Ted Liefeld wrote: > I am building a Docker image to have a Jupyter server with the GenePattern > notebook extension in it. So far so good except that in every notebook I > have to enter > > %reload_ext genepattern > > into the first cell to make the extension active. I have been prowling > through the docs and have tried putting this command in lots of places, > none of which have worked (e.g. ~/.jupyter/jupyter_notebook_config.py, > ~/.ipython/profile_default/startup/ipython_notebook_config.py) both > normally (ie as above) and also as a config setting > c.InteractiveShellApp.exec_lines = ['%reload_ext genepattern'] > > It seems with all the layers of config I am not finding the right one to > insert this at. Can anyone point me in the right direction? My current > container is using Jupyter 4.0.6, IPython 4.0.1 and Python 3.4.3. > > Thanks > > Ted > > > -- > Ted Liefeld UC San Diego > Mesirov Lab liefeld at ucsd.edu > > Office 2A24, BRF-II 858-534-2010 > > -- Ted Liefeld UC San Diego Mesirov Lab liefeld at ucsd.edu Office 2A24, BRF-II 858-534-2010 -------------- next part -------------- An HTML attachment was scrubbed... URL: