.. _kernels-langs: =============================== Kernels (Programming Languages) =============================== The Jupyter team maintains the `IPython `_ project which is shipped as a default kernel (as :term:`ipykernel`) in a number of Jupyter clients. Many other languages, in addition to Python, may be used in the notebook. The community maintains many other language kernels, and new kernels become available often. Please see the `list of available kernels`_ for additional languages and `kernel installation instructions`_ to begin using these language kernels. Kernels ------- Kernels are `programming language specific` processes that run independently and interact with the Jupyter Applications and their user interfaces. `ipykernel `__ is the reference Jupyter kernel built on top of `IPython `__, providing a powerful environment for interactive computing in Python. `jupyter-client `__ contains the authoritative description of the Jupyter messaging protocol which is used by clients to communicate with the kernels. `Xeus `__ facilitates the implementation of kernels for Jupyter and provides a number of kernels such as `xeus-cling `__ (C++), `xeus-sql `__ (SQL) and many more. .. glossary:: `IPython `__ interactive computing in Python. `Documentation `__ | `Repo `__ `ipykernel `__ the wrapper around IPython which enables using IPython as a kernel `Repo `__ `Xeus `__ library facilitating the implementation of kernels for Jupyter. It implements the Jupyter Kernel protocol so developers can focus on implementing the interpreter part of the kernel. `Repo `__ .. seealso:: `Jupyter kernels `_ A full list of kernels available for other languages. Many of these kernels are developed by third parties and may or may not be stable. .. _list of available kernels: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels .. _kernel installation instructions: https://ipython.readthedocs.io/en/latest/install/kernel_install.html