IPython kernels for other languages - ShuaiYAN/ipython GitHub Wiki
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. |
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
)
- 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
Making kernels for Jupyter in the documentation.
Testing kernels against message specification (work in progress)
Tool to test a kernel against specification (work in progress)