IPython kernels for other languages - ashwini-data/ipython GitHub Wiki

IPython/Jupyter kernels:

The Kernel Zero, is of course IPython, which you can get through ipykernel, and still comes (for now) as a dependency of jupyter. The IPython kernel can be thought as a reference implementation, here are other available kernels:

Name Jupyter/IPython Version Language(s) Version 3rd party dependencies Example Notebooks Notes
IPyKernel Jupyter 4.0 python 2.7, >= 3.3 pyzmq
IJulia julia >= 0.3
IHaskell ghc >= 7.6
IRuby ruby >= 2.1
IJavascript nodejs >= 0.10
jpCoffeescript coffeescript >= 1.7
ICSharp Jupyter 4.0 C# 4.0+ scriptcs
IRKernel IPython 3.0 R 3.2 rzmq
SageMath Jupyter 4 Any many
pari_jupyter Jupyter 4 2.8 Cython
IFSharp IPython 2.0 F# Features
Gophernotes Jupyter 4 Go >= 1.4 zeromq 2.2.x examples docker image
IGo Go >= 1.4
IScala Scala
Jupyter-scala IPython>=3.0 Scala>=2.10 example
IErlang IPython 2.3 Erlang rebar
ITorch IPython >= 2.2 Torch 7 (LuaJIT)
IElixir Jupyter Elixir
IAldor IPython >= 1 Aldor
IOCaml IPython >= 1.1 OCaml >= 4.01 opam
IForth IPython >= 3 Forth
IPerl Perl 5
IPerl6 Perl 6
IPHP IPython >= 2 PHP >= 5.4 composer
IOctave Jupyter Octave Example MetaKernel
IScilab Jupyter Scilab Example MetaKernel
IMatlab Jupyter Matlab pymatbridge Example MetaKernel
Bash IPython >= 3 bash Wrapper
PowerShell IPython >= 3 Windows Wrapper, Based on Bash Kernel
CloJupyter Jupyter Clojure >= 1.7
Hy Kernel Jupyter Hy Tutorial
Redis Kernel IPython >= 3 redis Wrapper
jove io.js
jp-babel Jupyter Babel
ICalico IPython >= 2 multiple Index
IMathics Mathics
Lua Kernel Lua
IPyLua Lua Fork of Lua Kernel
Calysto Scheme Scheme MetaKernel
Calysto Processing Processing.js >= 2 MetaKernel
idl_kernel IDL IDL seem to have a built-in kernel starting with version 8.5
Mochi Kernel Mochi
Lua (used in Splash) Lua
Spark Kernel Jupyter Scala, Python, R Spark >= 1.5
Skulpt Python Kernel Skulpt Python Examples MetaKernel
MetaKernel Bash bash MetaKernel
MetaKernel Python python MetaKernel
IVisual VPython Ball-in-Box
IBrainfuck Brainfuck Demo Wrapper
KDB+/Q Kernel (IKdbQ) IPython >= 3.1 Q qzmq, qcrypt
ICryptol Cryptol CVC4
C++ (cling)
Xonsh Xonsh Example MetaKernel
Prolog Prolog MetaKernel
cl-jupyter Jupyter Common Lisp Quicklisp About
Maxima-Jupyter Jupyter Maxima Quicklisp
Calysto LC3 Assembly Language for the Little Computer 3
Java 9 Kernel Java >= 9
Yacas YACAS
IJython Jython 2.5
ROOT Jupyter C++/python ROOT >= 6.05
Gnuplot Kernel Gnuplot Example MetaKernel
Tcl Jupyter Tcl 8.5 Based on Bash Kernel
J Jupyter J 804

Many kernels are available for installation on PyPI.

Repository

Several of these kernels are available in a PPA for Ubuntu 15.10 (wily)/16.04 (xenial). Add it with:

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

The following kernel packages are available (along with their dependencies):

  • ihaskell (errata as of 2016-01-16: hlint integration doesn't work, disable with :opt no-lint)
  • ijulia
  • ijavascript
  • jp-coffeescript
  • irkernel
  • iruby
  • gophernotes (xenial only)

(The repository doesn't contain ipython/jupyter - you'll still need to install it with pip)

Additional Related Projects

  • Jove - notebook interface in Java; provides Spark and Scala kernels
  • Brython Magics - A magic trick to allow you to use Brython code (client-side) in other notebooks

Creating new Jupyter kernels

Making kernels for Jupyter in the documentation.

Simple example kernel

IHaskell creator blog post

Testing kernels against message specification (work in progress)

Tool to test a kernel against specification (work in progress)

⚠️ **GitHub.com Fallback** ⚠️