[IPython-dev] Simple Kernel Example

Doug Blank doug.blank at gmail.com
Mon Jan 20 11:08:52 EST 2014


Thanks for the help! Of course, I'm partly giving you feedback to help
the next people that come along attempting to make a new kernel. Some
comments below:

On Mon, Jan 20, 2014 at 6:09 AM, Matthias BUSSONNIER
<bussonniermatthias at gmail.com> wrote:
>
> Le 17 janv. 2014 à 18:11, Doug Blank a écrit :
>
> Thanks for the information; I very much appreciate being explicit :)
>
> If there is a page somewhere that I can edit to put this kind of
> helpful information, I'd be glad to help. There are no hints in the
> ipython_config.py'e 500 lines of comments that you shouldn't import
> anything, nor that the KernelManager is available through c. In fact,
> the word "kernel" does not appear in in that file.
>
>
> it should be in `ipython_notebook_config.py` ~ lines 383
>
> # The Popen Command to launch the kernel. Override this if you have a custom
> # c.KernelManager.kernel_cmd = []

I guess that when I originally ran the "ipython profile create
simple_kernel" that I had been using IPython version 0.13 which comes
with Ubuntu 13.10. It only created the ipython_config.py. Now that I
have upgraded to 1.1, I see that there are many kernel-related items
in this new ipython_notebook_config.py. Great!

Some of the other kernels for other languages are written to use a
specific version of ipython. For example, igo apparent is written for
IPython 1.2.  This has made understanding the various examples more
difficult.

One related point of confusion I have: from this hint that you have
given, it appears that you need to have different kernels for
different frontends; is that true? I was assuming that the frontend
and the kernel could negotiate over what sockets communications were
required/optional/ignored. For example, it took me three days to
realize that the heartbeat interface is not used from the notebook
interface. Is there a way that simple_kernel.py can determine that? Or
do I need different config settings for each frontend/kernel
combination?

> Haven't looked at your simple_kernel.py yet.

I have cleaned up the code some, but as far as I can tell, nothing is working.

-Doug



More information about the IPython-dev mailing list