# Jupyter Client 7.4

This package provides the Python API for starting, managing and communicating with Jupyter kernels.

Important

This document contains the authoritative description of the Jupyter messaging protocol. All developers are strongly encouraged to keep it updated as the implementation evolves, so that we have a single common reference for all protocol details.

User Documentation

- Messaging in Jupyter
  - Versioning
  - Introduction
  - General Message Format
  - Compatibility
  - The Wire Protocol
  - Python API
  - Messages on the shell (ROUTER/DEALER) channel
  - Messages on the Control (ROUTER/DEALER) channel
  - Messages on the IOPub (PUB/SUB) channel
  - Messages on the stdin (ROUTER/DEALER) channel
  - Heartbeat for kernels
  - Custom Messages
  - Changelog
  - Notes

Developer documentation

- Making kernels for Jupyter
  - Connection files
  - Handling messages
  - Kernel specs
- Making simple Python wrapper kernels
  - Required steps
  - Example
  - Optional steps
- Customizing the kernel’s runtime environment
  - Kernel Provisioning
  - The kernel manager and kernel provisioner relationship
  - Discovery
  - Backwards Compatibility
  - Implementing a custom provisioner
- Pending Kernels
  - How they work
  - Using pending kernels

API

- jupyter_client API
  - kernelspec - discovering kernels
  - manager - starting, stopping, signalling
  - client - communicating with kernels
  - kernel provisioner apis

# Indices and tables

- Index

- Module Index

- Search Page