Skip to content

Vizier Overview

Oliver Kennedy edited this page Dec 31, 2023 · 2 revisions

A Vizier workflow is a sequence of cells, each containing Code or Templated commands. The cells are run in-order, one at a time. Each cell produces output artifacts (code, datasets, graphics, or values), and consumes input artifacts produced by earlier cells. Cells can also log console messages (text, html, images, datasets, and more). Console messages are displayed below the cell.

Unlike other notebooks, Vizier proactively keeps the messages produced by a cell fresh. If a cell changes, or one of its inputs is updated, Vizier will re-run the cell, updating both its outputs and its messages.

The Spreadsheet

Vizier lets you open any dataset as a spreadsheet and edit it right then and there: Modifying cell values; adding, rearranging, or removing columns; and more. Select a dataset from the datasets menu at the top to edit a dataset as of the end of the notebook, or use the dataset menu in any of the cell output areas (see below) to apply edits earlier in the notebook.

Anatomy of a Cell

  1. Cell Definition. This is where you write your script and/or enter options into the templated commands. For non-script cells, this area collapses to a short summary. Click the summary to edit.
  2. Edit Button. You can always click this button to enter edit mode.
  3. Freeze Menu. Access options to freeze or thaw cells from this button.
  4. Delete Button. Click this button and then click the confirmation checkmark. to delete a cell.
  5. Cell Status. A brief summary of the cell's status (whether it's completed, running, and brief statistics if available).
  6. Cell Output. Any outputs produced by the cell will be displayed here.

Artifact Immutability/Versioning

Artifacts in Vizier (datasets, code, charts, etc...) are immutable once created. When you load or save a dataset, export a python module, or create any other artifact, two things happen:

  1. A new immutable artifact is created
  2. The immutable artifact is assigned a name Vizier creates the illusion of mutability by allowing names to change, referring to new versions of the artifact.

Note that with datasets, Vizier does not generally store full copies of the dataset, but rather stores "diffs" that show how to compute the new dataset from the old one.

Notebook Execution Versioning

As the notebook runs, a dataset may be created and then updated multiple times by different cells. Vizier keeps track of the full history of the dataset as it evolves this way. Each version of the dataset is directly accessible from the notebook itself: You can use the output menu of any cell to see the version of a dataset as it existed as of that cell being run.

Notebook Evolution Versioning

There is another dimension to Vizier's dataset versioning scheme. As new cells are added to, updated, or removed from the notebook, datasets evolve as well. A single cell may output multiple versions of a dataset as changes to preceding cells alter the cell's inputs. You can view these older versions of the cell by using the "History" menu item to see earlier versions of the notebook.