<!-- # hard line break macro for HTML -->

# fiftyone.core.session.notebooks

Session notebook handling.

Copyright 2017-2026, Voxel51, Inc.
<br/>
[voxel51.com](https://voxel51.com/)
<br/>
<br/>

**Classes:**

| [`NotebookCell`](#fiftyone.core.session.notebooks.NotebookCell)(address, height, handle, port, ...)   |    |
|-------------------------------------------------------------------------------------------------------|----|

**Functions:**

| [`capture`](#fiftyone.core.session.notebooks.capture)(cell, data[, proxy_url])                        |                                                           |
|-------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|
| [`display`](#fiftyone.core.session.notebooks.display)(client, cell[, proxy_url, reactivate])          | Displays a running FiftyOne instance.                     |
| [`display_ipython`](#fiftyone.core.session.notebooks.display_ipython)(client, cell[, proxy_url, ...]) |                                                           |
| [`display_colab`](#fiftyone.core.session.notebooks.display_colab)(client, cell[, proxy_url, ...])     | Display a FiftyOne instance in a Colab output frame.      |
| [`display_databricks`](#fiftyone.core.session.notebooks.display_databricks)(client, cell[, ...])      | Display a FiftyOne instance in a Databricks output frame. |

### *class* fiftyone.core.session.notebooks.NotebookCell(address: str, height: int, handle: 'IPython.display.DisplayHandle', port: int, subscription: str)

Bases: `object`

**Attributes:**

| [`address`](#fiftyone.core.session.notebooks.NotebookCell.address)           |    |
|------------------------------------------------------------------------------|----|
| [`height`](#fiftyone.core.session.notebooks.NotebookCell.height)             |    |
| [`handle`](#fiftyone.core.session.notebooks.NotebookCell.handle)             |    |
| [`port`](#fiftyone.core.session.notebooks.NotebookCell.port)                 |    |
| [`subscription`](#fiftyone.core.session.notebooks.NotebookCell.subscription) |    |

#### address *: str*

#### height *: int*

#### handle *: DisplayHandle*

#### port *: int*

#### subscription *: str*

### fiftyone.core.session.notebooks.capture(cell: [NotebookCell](#fiftyone.core.session.notebooks.NotebookCell), data: [CaptureNotebookCell](fiftyone.core.session.events.md#fiftyone.core.session.events.CaptureNotebookCell), proxy_url: str = None) → None

### fiftyone.core.session.notebooks.display(client: [Client](fiftyone.core.session.client.md#fiftyone.core.session.client.Client), cell: [NotebookCell](#fiftyone.core.session.notebooks.NotebookCell), proxy_url: str = None, reactivate: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False) → None

Displays a running FiftyOne instance.

### fiftyone.core.session.notebooks.display_ipython(client: [Client](fiftyone.core.session.client.md#fiftyone.core.session.client.Client), cell: [NotebookCell](#fiftyone.core.session.notebooks.NotebookCell), proxy_url: str = None, reactivate: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False, \*\*kwargs: Dict[str, str | [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool)]) → None

### fiftyone.core.session.notebooks.display_colab(client: [Client](fiftyone.core.session.client.md#fiftyone.core.session.client.Client), cell: [NotebookCell](#fiftyone.core.session.notebooks.NotebookCell), proxy_url: str = None, reactivate: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False) → None

Display a FiftyOne instance in a Colab output frame.

The Colab VM is not directly exposed to the network, so the Colab runtime
provides a service worker tunnel to proxy requests from the end user’s
browser through to servers running on the Colab VM: the output frame may
issue requests to [https://localhost](https://localhost):<port> (HTTPS only), which will be
forwarded to the specified port on the VM.

It does not suffice to create an `iframe` and let the service worker
redirect its traffic (`<iframe src="https://localhost:6006">`), because for
security reasons service workers cannot intercept iframe traffic. Instead,
we manually fetch the FiftyOne index page with an XHR in the output frame,
and inject the raw HTML into `document.body`.

### fiftyone.core.session.notebooks.display_databricks(client: [Client](fiftyone.core.session.client.md#fiftyone.core.session.client.Client), cell: [NotebookCell](#fiftyone.core.session.notebooks.NotebookCell), proxy_url: str = None, reactivate: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False)

Display a FiftyOne instance in a Databricks output frame.

The Databricks driver port is accessible via a proxy url and can be
displayed inside an IFrame.
