-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Jupyter kernels
Carsten Allefeld edited this page Sep 11, 2024
·
192 revisions
Kernel Zero is IPython, which you can get through ipykernel, and is still a dependency of jupyter. The IPython kernel can be thought of as a reference implementation, as CPython is for Python.
Here is a list of available Jupyter kernels. If you are writing your own kernel, feel free to add it to the table!
Language(s) Version | Name | Jupyter/IPython Version | 3rd party dependencies | Example Notebooks | Notes |
---|---|---|---|---|---|
LFortran | Binder demo | Main repository at GitLab | |||
JupyterQ (KX Official Kernel) | Jupyter | kdb ≥ v3.5 64-bit, Python ≥ 3.6, embedPy | Notebook Examples | ||
Calysto LC3 | Assembly Language for the Little Computer 3 | ||||
elm-kernel | Jupyter | Examples | |||
BeakerX | Groovy, Java, Scala, Clojure, Kotlin, SQL | example | docker image | ||
multiple | ICalico | IPython >= 2 | Index | ||
2.6.0 | Agda kernel | https://mybinder.org/v2/gh/lclem/agda-kernel/master?filepath=example/LabImp.ipynb | |||
APL (Dyalog) | Dyalog Jupyter Kernel | Dyalog >= 15.0 | Notebooks | Can also be run on TryAPL's Learn tab | |
ARMv6 THUMB | IArm | Jupyter 4 | Examples | Based off of the ARM Cortex M0 CPU | |
Aldor | IAldor | IPython >= 1 | |||
Ansible 2.x | Ansible Jupyter Kernel | Jupyter 5.6.0.dev0 | Hello World | ||
Any | Juka | Jupyter 4 | Juka | Example | Wrapper. Requires Juka executable in PATH |
Any | SageMath | Jupyter 4 | many | ||
Babel | jp-babel | Jupyter | |||
Bash | SSH Kernel | Jupyter | paramiko, metakernel | Examples | A Jupyter kernel specialized in executing commands remotely with paramiko SSH client. |
Bash | Bash | IPython >= 3 | Wrapper | ||
Bash | Calysto Bash | MetaKernel | |||
Basilisp | basilisp-kernel | Examples | Basilisp is a Python based Lisp implementation broadly compatible with Clojure | ||
Brainfuck | IBrainfuck | Example | Wrapper | ||
C | C | Jupyter | gcc |
||
C | jupyterC | Jupyter | gcc>=3.0 |
Supports C89 to C17 , Built for teaching C |
|
C/C | c-kernel | Jupyter | Automatic compilation, customisable kernel, interactive input and multi-file programs. Intended for easy teaching/learning of C/C | ||
C/C | jupyter-cpp-kernel | Jupyter | g >=13.2 |
Document | C kernel for Jupyter. Easily adopt and deployment for testing environment. |
C# 4.0 | ICSharp | Jupyter 4.0 | scriptcs | ||
C#, F#, Powershell | .Net Interactive | Jupyter 4 | .Net Core SDK | Binder Examples | |
C | cling | Jupyter 4 | Example | ||
C | xeus-cling | Jupyter >= 5.1 | Example | Supports Jupyter widgets | |
C /python | ROOT | Jupyter | ROOT >= 6.05 | ||
bc, C, C , ngspice, Octave, PlantUML | GPP | Jupyter |
gcc , clang
|
Example | MetaKernel |
Cadabra2 | Cadabra2 | Jupyter 5 | Example notebook | ||
Cassandra CQL | cqljupyter | Jupyter | CQL Examples | ||
Chapel | jupyter_kernel_chapel | Jupyter | |||
CircuitPython | circuitpython_kernel | Jupyter | USB | Examples | |
ClickHouse SQL | xeus-clickhouse | xeus | Example | ||
Clingo | iclingo | IPython 8 | clingo | Basic Examples | |
Clojure | CLJ-Jupyter | Jupyter | Abandoned as of 2017-02-12 | ||
Clojure 1.8 | jupyter-kernel-jsr223 | Jupyter>=4.0 | clojure-jrs223, Java>=7 | Java based JSR223 compliant | |
Clojure >= 1.7 | CloJupyter | Jupyter | |||
Coconut | Coconut | Jupyter | |||
Coffeescript >= 1.7 | jpCoffeescript | ||||
Common Lisp | common-lisp-jupyter | Jupyter | Quicklisp | About | |
Coq | coq_jupyter | Jupyter 5 | coq | Binder online demo | |
Cryptol | ICryptol | CVC4 | |||
Crystal | ICrystal | Jupyter | IRC | ||
Crystal | crystal_kernel | Jupyter | Python wrapper kernel Crystal interpreter | ||
Dart | jupyter-dart-kernel | Jupyter | dart | ||
Deno | jupyter-deno-kernel | Jupyter | Deno >= 1.37.0 | ||
Dg (Doge) | idg | Jupyter | Example Notebooks | ||
Dockerfile | dockerfile-kernel | JupyterLab | Docker | User should be in the docker group. | |
Dot/graphviz | jupyter-dot-kernel | Jupyter >= 4.0 | graphviz version 2.40.1 | ||
ESP8266/ESP32 | MicroPython | Jupyter | USB or Webrepl | developer notebooks | relies on the micro-controller's paste-mode |
Elixir >= 1.5 | IElixir | Jupyter >= 4.0 | Erlang OTP >= 19.3, Rebar | example, Boyle package manager examples, Boyle examples with usage of Matrex library | IElixir Docker image, IElixir Notebook in Docker |
Emacs Lisp | ielisp | Jupyter | emacs-zmq | ||
Erlang | IErlang | IPython 2.3 | rebar | ||
Erlang >= 19, Elixir >= 1.4, LFE 1.2 | ierl | Jupyter >= 4.0 | Erlang, (optional) Elixir | ||
F# | IFSharp | Jupyter 4 | Features | ||
Forth | IForth | IPython >= 3 | |||
Forth | peforth | IPython 6/Jupyter 5 | Example | python debugger in FORTH syntax | |
Fortran 2008/2015 | Coarray-Fortran | Jupyter 4.0 | GFortran >= 7.1, OpenCoarrays, MPICH >= 3.2 | Demo, Binder demo | Docker image |
GAP >= 4.10 | GAP Kernel | Jupyter | Binder demo | A Jupyter kernel for the computational algebra system GAP. | |
Galileo >= 0.1.3 | iGalileo | Jupyter >= 4, JupyterLab | Docker image | ||
Ghc >= 7.6 | IHaskell | Demo | |||
Gnuplot | Gnuplot Kernel | Example | MetaKernel | ||
Go >= 1.21 | GoNB | Jupyter >= 5 | Tutorial Binder Live Demo | ||
Go >= 1.4 | IGo | Unmaintained, use gophernotes | |||
Go >= 1.6 | gopherlab | Jupyter 4.1, JupyterLab | ZeroMQ (4.x) | examples | Deprecated, use gophernotes |
Go >= 1.8 | lgo | Jupyter >= 4, JupyterLab | ZeroMQ (4.x) | Example | Docker image |
Go >= 1.9 | Gophernotes | Jupyter 4, JupyterLab, nteract | ZeroMQ 4.x.x | examples | docker image |
GrADS >= 2.0 | GrADS kernel | ||||
Guile 2.0.12 | Guile | Jupyter 5.2 | guile-json, openssl | ||
HiveQL | HiveQL Kernel | Jupyter >= 5 | pyhive | Display HiveQL queries in HTML tables | |
Home Assistant | PyScript | Jupyter | Home Assistant | Tutorial | |
Hy | Hy Kernel | Jupyter | Tutorial | treats Hy as Python pre-processor | |
Hy | Calysto Hy | Jupyter | Tutorial | based on MetaKernel (magics, shell, parallel, etc.) | |
IDL | idl_kernel | IDL seem to have a built-in kernel starting with version 8.5 | |||
Intel Assembly Language | Emu86 Kernel | Jupyter | Introduction to Intel Assembly Language Tutorial | ||
Io.js | jove | ||||
J 805-807 (J901beta) | J | Jupyter Notebook/Lab | Examples | ||
Java & Rascal | Bacatá | Jupyter | ZeroMQ & Rascal | Example | A Jupyter kernel generator for domain-specific languages. |
Java 11 , Groovy, Javascript, Kotlin, Scala, Apache Spark, and more | Ganymede | Jupyter >= 4.0 | JShell, Apache Maven Resolver | Examples | |
Java 9 | IJava | Jupyter | Java JDK >= 9 | Binder online demo | Based on the new JShell tool |
JavaScript, Ruby, Python, R, and more | IPolyglot | Jupyter | GraalVM | Example Polyglot Notebook | Dockerfile |
Julia >= 0.3 | IJulia | ||||
Jython 2.7 | IJython | ||||
Jython>=2.7.0 | Jython | Jupyter>=4.0 | Java>=7 | Java based JSR223 compliant | |
Kotlin | kotlin-jupyter | Jupyter | Java >= 8 | Samples | |
Livescript >= 1.5 | jp-LiveScript | Based on IJavascript and jpCoffeescript | |||
Lua | Lua Kernel | ||||
Lua | IPyLua | Fork of Lua Kernel | |||
Lua | ILua | ||||
Lua | Lua (used in Splash) | ||||
Mac Os X | Pharo Smalltalk | IPython >= 3 | Binder demo | Paro 64 bits native kernel, zeromq | |
Mathics | IMathics | ||||
MATLAB >= 2016b | imatlab | ipykernel >= 4.1 | |||
Matlab | MATLAB Kernel | Jupyter | pymatbridge | Example | MetaKernel |
Matlab | MKernel | Jupyter | ipykernel, matlabengine, wurlitzer | Example | Optimized for both Jupyter and Quarto |
Maxima | Maxima-Jupyter | Jupyter | Quicklisp | ||
MIPS32 Assembly Language | MIPS Jupyter Kernel | Jupyter | Python3, SPIM | Example | Driven by Python3 and Pexpect |
MIT Scheme 9.2 | mit-scheme-kernel | Jupyter 4.0 | |||
Mochi | Mochi Kernel | ||||
MongoDB | iMongo | ||||
Natural languages | iTTS | speech-dispatcher | Example | Currently cannot output sound into files or blobs because of limitations of speech-dispatcher | |
NodeJS, Babel, Clojurescript | jupyter-nodejs | Jupyter, iPython 3.x | Examples | ||
NodeJs 12 | nelu-kernelu | Jupyter | NodeJs 12.3 | Examples | An advanced NodeJs Jupyter kernel supporting comms and displays among other things. |
NodeJs >= 0.10 | IJavascript | ||||
OCaml >= 4.01 | IOCaml | IPython >= 1.1 | opam | ||
OCaml >= 4.02 | OCaml-Jupyter | Jupyter >= 4.0 | opam | Example | Docker image |
Octave | IOctave | Jupyter | Example | MetaKernel | |
PARI/GP >= 2.9 | pari_jupyter | Jupyter 4 | |||
PHP >= 5.4 | IPHP | IPython >= 2 | composer | DEPRECATED, use Jupyter-PHP | |
PHP >= 7.0.0 | Jupyter-PHP | Jupyter 4.0 | composer, php-zmq | ||
Perl 5 | IPerl | ||||
Perl 6 | IPerl6 | ||||
Perl 6.C | Jupyter-Perl6 | Jupyter | Rakudo Perl 6 | ||
Perl 6.c | Perl6 | Jupyter >= 4 | zeromq 4 | ||
Pike >= 7.8 | Pike | IPython >= 3 | Wrapper, Based on Bash Kernel | ||
PostScript | IPostScript |
gs (ghostscript) |
|||
Powershell | PowerShell | IPython >= 3 | Wrapper, Based on Bash Kernel | ||
Processing.js >= 2 | Calysto Processing | MetaKernel | |||
Prolog | Prolog | MetaKernel | |||
Purescript | IPurescript | ||||
Pyspark (Python 2 & 3), Spark (Scala), SparkR (R) | sparkmagic | Jupyter >=4.0 | Livy | Notebooks, Docker Images | This kernels are implemented via the magics machinery of the ipython kernel to use Spark via Livy |
Python | MetaKernel Python | MetaKernel | |||
Python 2.7 | AIML chatbot | Jupyter 4 | pyAIML | Examples | |
Python 2.7 or >=3.4 | SPARQL | Jupyter 4 | rdflib, SPARQLWrapper | Examples | Optional GraphViz dependency |
Python 2.7, >= 3.3 | IPyKernel | Jupyter 4.0 | pyzmq | ||
Python >= 3.3 | sas_kernel | Jupyter 4.0 | SAS 9.4 or higher | ||
Python >= 3.5, scala >= 2.11 | spylon-kernel | ipykernel >=4.5 | Apache Spark >=2.0 | Example | MetaKernel |
Python >=3.4 | SoS | Jupyter 4 | Support kernels for bash, python2/3, matlab/octabe, javascript, julia, R, Stata, SAS, and more | Examples | Workflow system, Multi-Kernel support |
Python>=3.7.5, Groovy>3 | Micronaut | Micronaut | https://github.com/stainlessai/micronaut-jupyter/blob/master/examples/basic-service/notebooks/use-library.ipynb | Compatible with BeakerX | |
Python | Jupyter on Golem | JupyterLab >= 4.0.2 | yagna >=0.12.2, jupyter >= 1.0.0, pandas >=2.0.2, tensorflow-cpu >= 2.12.0, matplotlib >= 3.7.1 | Examples | Python kernel, which enables JupyterLab to run Python Notebooks on decentralized Golem Network |
Q | KDB /Q Kernel (IKdbQ) | IPython >= 3.1 | qzmq, qcrypt | ||
Q | KDB /Q Kernel (KdbQ Kernel) | Jupyter | |||
Q | PyQ Kernel | Jupyter | Python for kdb | ||
Q# | IQSharp | Jupyter 4 | QuantumKatas | ||
R 3.2 | IRKernel | IPython 3.0 | rzmq | ||
R >= 4.0 | RKernel | Jupyter | R packages: tools, utils, pbdZMQ (>= 0.2-1), jsonlite (>= 0.9.6), uuid, digest, R6, svglite, repr, htmltools, htmlwidgets, base64enc; Python package: jupyter-server-proxy | Example Notebooks | A kernel for R, a language and environment for statistical computing and graphics. This kernel relies on the the more recent R6 class system and fully supports interactive widgets based on ipywidgets version 8 |
Racket >= 6.10 | IRacket | IPython >= 3 | Racket, ZeroMQ | Example | |
Raku | Raku-Jupyter-Kernel | Jupyter | Raku | examples | |
Redis | Redis Kernel | IPython >= 3 | Wrapper | ||
Ruby >= 2.3 | IRuby | ||||
Rust >= 1.29.2 | EvCxR Jupyter Kernel | Jupyter 4, JupyterLab, nteract | ZeroMQ 4.x.x | Examples, Binder online demo | |
SQL | Teradata SQL kernel and extensions | JupyterLab >= 3.0 | Example Notebooks | ||
SQL | mariadb_kernel | Jupyter Notebook/Lab | Internal Dependencies, MariaDB Server | Binder notebook | A Jupyter kernel for the MariaDB Open Source database |
SWI-Prolog | SWI-Prolog | Jupyter >=4.0 | https://hub.docker.com/r/jm1337/jupyter-prolog-notebook/ | ||
Sbt >= 1.0.0 | Isbt | Jupyter 4.3.0 | sbt | example | |
Scala | IScala | ||||
Scala, Python, R | Apache Toree (formerly Spark Kernel) | Jupyter | Spark >= 1.5 | Example | |
Scala>=2.10 | almond (old name: Jupyter-scala) | IPython>=3.0 | examples | Docs | |
Scheme | Calysto Scheme | Reference Guide | MetaKernel | ||
Scilab | IScilab | Jupyter | Example | MetaKernel | |
SetlX | ISetlX | Jupyter | Example | ||
Singular 4.1.0 | jupyter_kernel_singular | Jupyter | Demo | Optional PySingular for better performance, surf for images, details | |
Skulpt Python | Skulpt Python Kernel | Examples | MetaKernel | ||
GNU Smalltalk | GNU Smalltalk Kernel | Jupyter | GNU Smalltalk | ||
Stata | stata_kernel | Jupyter >=5 | Stata >=14 | Communicates natively with Stata | |
Stata | iPyStata | Jupyter | Stata | Example Notebook | Implemented using magics machinery of ipython. |
Stata >= 17 | pystata-kernel | Communicates with Stata through the pystata official Python bindings | |||
Stata >= 17 | nbstata | Jupyter >= 5.2 | pystata, ipydatagrid | stata_kernel example | |
StuPyd | StuPyd Kernel | Jupyter >= 4 | Python3, antlr4-python3-runtime >= 4.7.1 | nbviewer demo | |
Systemtap >= 4.9, Python >= 3.10 | ISystemtap | ipykernel>=6.15 | NodeJS | ISystemtap.ipynb | Podman image |
TaQL | TaQL | Jupyter | python-casacore | TaQL tutorial | |
Tcl 8.5 | Tcl | Jupyter | Based on Bash Kernel | ||
Tcl 8.6 | Tcl | Jupyter | Binder demo | Written from scratch with a patched Tcl zmq binding | |
Torch 7 (LuaJIT) | ITorch | IPython >= 2.2 and <= 5.x | |||
Typescript 3.7.2, JavaScript ESNext | tslab | Node.js | Example notebooks | Jupyter kernel for JavaScript and TypeScript - npm | |
Typescript >= 2.0 | ITypeScript | Node.js >= 0.10.0 | |||
V1.1 | Common Workflow Language (CWL) Kernel | examples directory | |||
VPython | IVisual | Ball-in-Box | |||
Vim script | A Jupyter kernel for Vim script | Jupyter | |||
Whitespace 0.1 | Whitenote | Jupyter>=5 | Go>=1.19 | example.ipynb | Docker image |
Wolfram Mathematica | Wolfram Language for Jupyter | Wolfram Engine, i.e., a Wolfram Desktop or Mathematica installation; wolframscript is optional but recommended |
A Jupyter kernel for the Wolfram Language (Mathematica). | ||
Wolfram Mathematica | IWolfram | Wolfram Mathematica(R), Metakernel | MetaKernel | ||
Xonsh | Xonsh | Example | MetaKernel | ||
YACAS | Yacas | ||||
Zsh >= 5.3 | Z shell | IPython >= 3 | Example |
Many kernels are available for installation on PyPI.
- 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
- pixiedust_node - PixieDust extension that enable a Jupyter Notebook user to invoke Node.js commands.
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)
You are viewing the GitHub wiki associated with Jupyter. This is not a notebook.