
This extension adds a dedicated xarray Objects panel for Jupyter and marimo notebooks,
plus hover and context actions to inspect metadata for DataArray, Dataset, and
DataTree variables. It works with any kernel that has xarray, and optionally adds
integration with GUI tools when the erlab package
is available.
Features

When hovering over a variable name in a Python cell of a supported notebook, if the
variable is an xarray object (DataArray, Dataset, or DataTree), the hover shows
its name and type, along with actions to:
- Open the object's detail panel with its HTML representation.
- Pin objects to keep them at the top of the list.
The detail panel can also be triggered from the Jupyter Variables view.
Integration with erlab
If the kernel has the erlab package installed,
additional interactive tools appear for DataArray variables:
- Open the DataArray in an ImageTool.
- Watch/unwatch the DataArray to sync it with the ImageTool Manager.
- Access additional tools (ktool, dtool, restool, meshtool, ftool, goldtool) via the
"More..." button.
Usage
- Open a Jupyter (
.ipynb) notebook or marimo notebook with a Python kernel.
- Open the xarray Objects view to browse variables.
- Click an xarray object to open its detail panel and HTML representation.
- Hover over a variable name in a Python cell to use quick actions.
- Right-click a variable name to access actions from the context menu.
Commands
erlab.openDetail - Open the xarray Detail panel from the command palette or the
Jupyter Variables view.
erlab specific commands
These commands work on the currently selected variable in a supported notebook cell, and
appear when the kernel has the erlab package installed:
erlab.watch - Watch a DataArray (or show it if already watched).
erlab.unwatch - Stop watching a DataArray.
erlab.itool - Open the DataArray in the ImageTool.
erlab.ktool - Open the DataArray in ktool (momentum conversion).
erlab.dtool - Open the DataArray in dtool (visualizing dispersive features).
erlab.restool - Open the DataArray in restool (fitting energy resolution).
erlab.meshtool - Open the DataArray in meshtool.
erlab.ftool - Open the DataArray in ftool (general curve fitting).
erlab.goldtool - Open the DataArray in goldtool (Fermi edge fitting).
erlab.xarray.otherTools - Show a picker to select from additional tools.
Settings
erlab.xarray.displayExpandAttrs (default: true) - Expand attributes section in
xarray HTML representation.
erlab.xarray.displayExpandCoords (default: true) - Expand coordinates section in
xarray HTML representation.
erlab.xarray.displayExpandData (default: false) - Expand data section in xarray HTML
representation.
erlab.itool.useManager (default: true) - Open in the ImageTool manager when it is
already running. Otherwise, open in a new ImageTool window bound to the current
kernel. If set to false, always open in the current kernel regardless of whether the
manager is running.
Requirements
- VS Code (or any compatible editor) with:
- Jupyter extension (
ms-toolsai.jupyter) for Jupyter notebooks.
- marimo extension (
marimo-team.vscode-marimo) for marimo notebooks.
- A running Python kernel for the notebook, with
xarray >=2024.10 installed.
- (Optional) The
erlab Python package for
integration with its GUI. A Qt backend (PyQt6 or PySide6) is also required to use the
GUI. Watch/unwatch integration and watched status indicators require erlab>=3.20.0.
Notes
- Hover and context actions run code in the active kernel. You may be prompted to allow
code execution on first use.