IPython kernels for other languages - ShuaiYAN/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
sas_kernel Jupyter 4.0 python >= 3.3 SAS 9.4 or higher
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
Jupyter-PHP Jupyter 4.0 PHP >= 5.5.9 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
Apache Toree (formerly 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
cling Jupyter 4 C++ Example
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 Examples
Jython Jupyter>=4.0 Jython>=2.7.0 Java>=7 Java based JSR223 compliant
Clojure Jupyter>=4.0 Clojure 1.8 clojure-jrs223, Java>=7 Java based JSR223 compliant
C Jupyter C gcc
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
  • ijulia
  • ijavascript
  • 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** ⚠️