-
Notifications
You must be signed in to change notification settings - Fork 65
Description
Transmit Cell Metadata
Hello!
We (@willingc and @MSeal) would like to propose a new JEP that describes transmitting cell metadata to kernels. Below is a summary and a link to the full proposal as well.
Thx!
-John, Carol, Matt
Summary
This proposal discusses the transmission of cell metadata with execute message requests and would modify the Jupyter Messaging Protocol. Individual kernels would interpret or ignore this metadata. This enables flexibility in different usage scenarios implemented in various front-end clients.
Motivation
By transmitting cell metadata inline with the execute message request, Jupyter implementations will have a reliable channel to transmit additional metadata to the kernel in a standard way.
Notebook extensions can also use this channel to transmit additional information that was often transmitted using magic commands.
Some use cases which motivated this proposal are:
- Route requests automatically to an appropriate kernel via libraries like [allthekernels]https://github.com/minrk/allthekernels) without need for additional metadata within the cell itself
- Create or find a conda environment without needing to use magics, like pick
- Support polyglot (more than one language/kernel within a single notebook) scenarios, like [sos]https://vatlab.github.io/sos-docs/)
- Provide hints to the kernel for localization purposes, like how the
ACCEPT_LANGUAGE HTTP
header works - Provide hints to the kernel about client capabilities, similar to how hints of a web browser client's capabilities work
A link to the full proposal can be found here