Jupyter Kernel Gateway
Overview
Jupyter Kernel Gateway is a web server that provides headless access to
Jupyter kernels. Your application communicates with the kernels remotely,
through REST calls and Websockets rather than ZeroMQ messages.
There are no provisions for editing notebooks through the Kernel Gateway.
The following operation modes, called personalities, are supported
out of the box:
-
Send code snippets for execution using the
Jupyter kernel protocol
over Websockets. Start and stop kernels through REST calls.
This HTTP API is compatible with the respective API sections
of the Jupyter Notebook server.
-
Serve HTTP requests from annotated notebook cells. The code snippets
are cells of a static notebook configured in the Kernel Gateway.
Annotations define which HTTP verbs and resources it supports.
Incoming requests are served by executing one of the cells in a kernel.
Jupyter Kernel Gateway uses the same code as Jupyter Notebook
to launch kernels in its local process/filesystem space.
It can be containerized and scaled out using common technologies like tmpnb, Cloud Foundry, and Kubernetes.
Example Uses of Kernel Gateway
- Attach a local Jupyter Notebook server to a compute cluster in the cloud running near big data (e.g., interactive gateway to Spark)
- Enable a new breed of non-notebook web clients to provision and use kernels (e.g., web dashboards using jupyter-js-services)
- Create microservices from notebooks using the Kernel Gateway
notebook-http
mode
Features
See the Features page in the
documentation for a list of the Jupyter Kernel Gateway features.
Installation
Detailed installation instructions are located in the
Getting Started page
of the project docs. Here's a quick start using pip
:
pip install jupyter_kernel_gateway
jupyter kernelgateway --help-all
jupyter kernelgateway
Contributing
The Development page includes information about setting up a development environment and typical developer tasks.