[IPython-dev] ipython notebook

Ralf Hemmecke hemmecke at gmail.com
Tue Apr 24 13:42:09 EDT 2012

Thank you, Fernando.

>> Is the notebook suited for this purpose or is it too much tied to
>> python?
> Indeed, it would be possible to do so; recently an enterprising user
> did just that as a test with Ruby:
> https://github.com/isotope11/iruby

 From what I figured out so far, but Josh Adams modified ipython
(https://github.com/isotope11/ipython/tree/ruby_kernel) in order to
start ruby. Not that I understood everything, I wonder why ipython does
not include such kind of talking to an external interpreter.

> Unfortunately we haven't had the time to write a detailed design
> document that explains how the entire architecture works for someone
> in your position.

Understandable, but may I still ask for the big picture.
Let me guess.

(a) The client side is done with JaveScript. This is responsible for
code highlighting, tab completion and what not.

(b) JavaScript is probably talking (via 0MQ) to some python process on
the server in order to get information of what to highlight and what to

(c) The input string is sent (probably in json format) to the server.

(d) The server sends a json format of the output back to the client.

Of course, I want different highlighting. Which function is responsible
for that? How (for simplicity) could I simply switch that off?

Same question for completion.

I have to start an external process (fricas in my case) and send input
to it and receive its output. Which functions are responsible for that?

> So I'm afraid that making progress will require a fair amount of
> reading the source and experimenting.  But don't be afraid to ask
> here!

If I don't disturb people here too much...
What I don't see at the moment is in how far the notebook is tied to 
python. In some .ipynb file, I've seen "language: python" which seemed 
to be connected to one cell. That made me wonder whether you've already 
thought about having an input cell in another language. Since I would 
have to add the fricas language, where would I do this?

>> From our perspective, this is *absolutely* something we'd like to
>> see out there.

That's good. At least it sounds like I will be going a supported path.

> Just today I was talking to a statistician friend and we were
> discussing the possibility of an R notebook frontend.  That's also
> something that would be great to have, and likely very useful.

Yep. In fact, it would be wonderful, if one could have a multi-language 
environment in one notebook. The SageNotebook has something like this, 
but it cannot currently run without Sage and I am actually looking for 
something lighter.

BTW, I installed ipython into a virtualenv. However, I was unable to get 
it running with ZeroMQ installed in my HOME. I would be grateful, if I 
can learn about installing ipython with with ZeroMQ not under /usr/local.


More information about the IPython-dev mailing list