Ubuntu PPA for (non-python) Jupyter kernels

325 views
Skip to first unread message

Gordon Ball

unread,
Jan 22, 2016, 5:26:58 AM1/22/16
to Project Jupyter
I have set up a PPA [0] which builds several of the (possibly more popular) non-python kernels for Jupyter.

Available kernels (and their dependencies):

 * Haskell: ihaskell [1] (note errata below)
 * Julia: ijulia [2]
 * Javascript: ijavascript [3]
 * Coffeescript: jp-coffeescript [4]
 * R: irkernel [5]
 * Ruby: iruby [6]

Currently packages are built only for Wily (15.10) and Xenial (upcoming 16.04). Trusty (14.04) has too many missing dependencies that would need backporting. The kernels and their dependencies are installed in the appropriate system library directories, and the kernelspecs in /usr/share/jupyter/kernels/<kernelname>

Usage:

    sudo add-apt-repository ppa:chronitis/jupyter
    sudo apt update
    sudo apt install <whichever>

The PPA doesn't actually contain jupyter, and the ipython packages in the repository are out of date (2.3.0), so you'll still need to install jupyter manually with `pip` or similar. People are working on packaging up-to-date jupyter for debian, so I will avoid duplicating that work.

The usual caveats apply for PPAs: if the package is broken or breaks your system, you get to keep both halves.

Gordon




[0]: https://launchpad.net/~chronitis/+archive/ubuntu/jupyter
[1]: github.com/gibiansky/IHaskell
errata: something about my build appears to break the hlint integration - if you input a line for which hlint would suggest an improvement, the kernel hangs - avoid this by running `:opt no-lint` before any code. Help appreciated if you can work out why.

[2]: github.com/JuliaLang/IJulia.jl
[3]: github.com/n-riesco/ijavascript
[4]: github.com/n-riesco/jp-coffeescript
[5]: github.com/IRkernel/IRkernel
[6]: github.com/SciRuby/iruby


Thomas Kluyver

unread,
Jan 22, 2016, 6:44:11 AM1/22/16
to Project Jupyter
Thanks for working on this, Gordon! I think it would be good to include a link to the PPA on the wiki page listing other kernels:

https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages

Thomas

--
You received this message because you are subscribed to the Google Groups "Project Jupyter" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jupyter+u...@googlegroups.com.
To post to this group, send email to jup...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/e43d25b5-b4af-445f-8e09-a50e370dc7da%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nicolas Riesco

unread,
Jan 22, 2016, 7:15:12 AM1/22/16
to jup...@googlegroups.com
Gordon,

this is great! Thank you for doing this!

Nico

Gordon Ball

unread,
Jan 22, 2016, 9:59:02 AM1/22/16
to Project Jupyter
Done!

And as a bonus, you get the list on that page converted to a table and some missing information filled in.

That said, the list could do with quite a lot more work. Some of the abandoned upstream kernels should possibly be removed, and those under active development would benefit from filling out dependencies and links to example notebooks. Listing the current version of the messaging protocol supported rather than the minimum required jupyter/ipython version might also be useful - it should provide a reasonable idea about what is being kept up to date. Logos for languages/kernels where they exist would possibly be good too.

Thomas Kluyver

unread,
Jan 22, 2016, 10:19:32 AM1/22/16
to Project Jupyter
There's a plan afoot to move the information on that page to a flashier page on http://jupyter.org/ , where we can indicate how well developed kernels are, rather than trying to kick some off the list entirely. It hasn't happened yet, though...

Fernando Perez

unread,
Jan 23, 2016, 9:05:42 PM1/23/16
to Project Jupyter
On Fri, Jan 22, 2016 at 6:59 AM, Gordon Ball <chro...@gmail.com> wrote:
And as a bonus, you get the list on that page converted to a table and some missing information filled in.

Thanks so much Gordon!
 

That said, the list could do with quite a lot more work. Some of the abandoned upstream kernels should possibly be removed, and those under active development would benefit from filling out dependencies and links to example notebooks. Listing the current version of the messaging protocol supported rather than the minimum required jupyter/ipython version might also be useful - it should provide a reasonable idea about what is being kept up to date. Logos for languages/kernels where they exist would possibly be good too.

One thing we've mentioned in some discussions already, but haven't had the cycles to really push into, would be a proper "Kernel features matrix" project, that would show how many of features each kernel supports (completion, plotting, rich displays, etc), ideally supported by an automated test suite that would update this page when each kernel makes a new release (with suitable Travis/CI hooks).

Having this test suite available to kernel authors could incentivize the development of more feature-complete kernels, as well as being useful to users.

If you, or anyone else has cycles to put into this, it would be a very useful contribution to the project.

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

Thomas Kluyver

unread,
Jan 24, 2016, 6:46:07 AM1/24/16
to Project Jupyter
On 24 January 2016 at 02:05, Fernando Perez <fpere...@gmail.com> wrote:
One thing we've mentioned in some discussions already, but haven't had the cycles to really push into, would be a proper "Kernel features matrix" project, that would show how many of features each kernel supports (completion, plotting, rich displays, etc), ideally supported by an automated test suite that would update this page when each kernel makes a new release (with suitable Travis/CI hooks).

Having this test suite available to kernel authors could incentivize the development of more feature-complete kernels, as well as being useful to users.

If you, or anyone else has cycles to put into this, it would be a very useful contribution to the project

For anyone who wants to work on this: we already have a kernel testing framework:
https://github.com/jupyter/jupyter_kernel_test

We're using that to test IRkernel, for instance.

Thomas

Henri Girard

unread,
Jan 27, 2016, 2:15:00 PM1/27/16
to Project Jupyter
Hi,
Thanks for this great job. Are you planning to integrate maxima and root cern ?
Root I got it working after real pain. Maxima I don't understand the help installation...
That's what I need, installing yours is really like a charm. I am using ubuntu 16.04.
Best regards
Henri

Gordon Ball

unread,
Feb 2, 2016, 6:24:28 AM2/2/16
to Project Jupyter
For the moment I think ROOT is not a target; the ROOT version in the ubuntu/debian repositories is too old - root-system in trusty/wily/xenial/jessie/sid is version 5.34, which appears too old for the kernel.

I'm afraid my previous work in HEP also gives me quite an aversion to ever installing ROOT again if I can possibly avoid it.

Henri Girard

unread,
Jan 17, 2017, 11:31:39 AM1/17/17
to Project Jupyter
I agree with you... Root is very hard to use on ubuntu. What about an octave kernel in the ppa ?


Le vendredi 22 janvier 2016 11:26:58 UTC+1, Gordon Ball a écrit :
Reply all
Reply to author
Forward
0 new messages