rerun-io / rerun

Visualize streams of multimodal data. Fast, easy to use, and simple to integrate. Built in Rust using egui.
https://rerun.io/
Apache License 2.0
5.7k stars 257 forks source link

Jupyter Notebook Roadmap #1815

Open jleibs opened 1 year ago

jleibs commented 1 year ago

The initial version of Jupyter support established in the Jupyter MVP is still extremely limited.

This is a tracking issue intended to plot out the longer-term goals for using notebooks with Rerun.

Much of this is motivated by the desire to support:

The Long-term Vision

Two Different Workflows

The general pattern of creating a view withing a notebook always involves 3 distinct pieces:

  1. Create a Recording
  2. Send data to the Recording
  3. Combine the Recording with a Blueprint to create a View

Although Step 1 always comes first, it's important to note that step 2 and 3 can happen in either order.

When 2 comes before 3 we call this the "end-of-cell" workflow. We don't emit the viewer until the end of cell execution, which means the viewer is loading a single static recording payload. It's important to note that this same recording can still be used to create additional views of the data (either in the same cell or subsequent cells), without needing to run the computation again. This is practically similar to our current "save / open RRD" standalone modes, and is the only mode supported by the current jupyter MVP.

When 3 comes before 2, however, we call this an "incremental-cell" workflow. In this mode the View context is created first, and then data is incrementally live-streamed into it. This could all happen from within a single long-running cell or multiple cells could be used to incrementally update a viewer instance output by a previous cell. This is practically more similar to the standalone "connect to viewer" mode.

Creating Blueprints for Views

Regardless of which workflow is being employed, ergonomic APIs for creating these blueprints are an essential part of the Jupyter experience. A user must be able to:

We suspect at least two ways that users might want to construct these blueprints:

TBD(@jleibs) continue populating this section.

Tracking Backlog.

jprochazk commented 3 days ago

@jleibs What's the status of this after the recent notebook changes? It's linked from our docs, and I'm not sure how the roadmap has changed since over a year ago.