> ## Documentation Index
> Fetch the complete documentation index at: https://www.domo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Jupyter Workspaces | User Guide

## Intro

Jupyter Workspaces in Domo is a web-based interactive development environment for Jupyter notebooks, code, and data. Workspaces are tightly integrated with Domo to allow users to easily explore their Domo DataSets, leverage instantaneous code execution to develop pipelines for data science and machine learning, document their processes, create custom visualizations, and write transformed data back into Domo.

Jupyter Workspaces use the JupyterLab interface. For more information about JupyterLab, see the [JupyterLab Documentation](http://jupyterlab.readthedocs.io/en/latest/) <img alt="external link.png" src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000KYTl.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=b28573080afafa060ceccb21ad57c690" style={{width: 17, height: 17, display: 'inline', verticalAlign: 'start', margin: '0'}} width="32" height="32" data-path="images/kb/0EMVq000000KYTl.jpg" />

.

Jupyter Workspaces is a premium Domo feature. Contact your Domo account team to get access. For help, reach out to [support@domo.com](mailto:support@domo.com)

***

This article provides information on integrating Jupyter Workspaces with Domo in the following topics:

***

## Required Grants

To access Jupyter, you need one of the following two grants enabled: Create Jupyter Workspace or Manage Jupyter Workspace. You can add these grants to a custom Domo role.

* \*\*Create Jupyter Workspace —\*\*Allows a user to create, edit, and delete Jupyter Workspaces to which they have access.
* **Manage Jupyter Workspace**(Jupyter Admin) **—** Allows a user to view, edit, and delete any Jupyter Workspaces in the instance. This grant is needed to enable workspace sharing for other users.

To use the [File Share](#file-sharing) feature of Jupyter Workspaces, you need one of the following two grants enabled: Create Fileshare Directories or Manage Fileshare Directories. You can add these grants to a custom Domo role.

* \*\*Create Fileshare Directories —\*\*Allows a user to create, edit, and delete File Share directories to which they have access.
* \*\*Manage Fileshare Directories —\*\*Allows you to view, edit, and delete any File Share directory in this instance.

## Enable Jupyter

To start using Jupyter, a Jupyter Admin must enable the feature for your instance. Admins can follow the steps below:

1. In the navigation header, go to **More** > **Admin**.

2. In the **Features** menu, select**Jupyter**.

3. Activate the feature by adjusting the toggle next to **Jupyter Account Inactive.**

Your account is activated.

4. After activating the account, choose the account plan you want:

* The Default account plan allows all users access to Jupyter and gives all users unlimited usage.
* The Manual account plan allows specific users access to Jupyter and gives you the option to configure usage limits.

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkK.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=e6b66f8668e73f3811466a452f2ad1b9" alt="computetierlimit_2_copy.png" width="940" height="396" data-path="images/kb/0EM5w000005vXkK.png" />
</Frame>

5. Select a **Compute Tier Limit.** To learn more about tier limits, contact your Domo account team.

6. Select **Save.**

Jupyter is enabled, and workspaces can be created.

## Access Jupyter Workspaces

In the navigation header, select **Data**.\
The Data Center displays.

In the left navigation, select <img alt="Screen_Shot_2022-06-01_at_11.35.48_AM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkP.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=12317b3e2f56f0d507e265867f2febc9" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="172" height="168" data-path="images/kb/0EM5w000005vXkP.png" /> **More** > **Jupyter Workspaces**.

<Frame>
  <img src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EM5w000006wQBr.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=3ec68cf74e164569a70b6a8cac007322" alt="access jupyter workspaces.jpg" width="596" height="410" data-path="images/kb/0EM5w000006wQBr.jpg" />
</Frame>

###

## Jupyter Workspaces Tasks

The next sections describe certain tasks within Jupyter Workspaces, including creating a workspace, enabling workspace sharing, sharing a workspace, viewing instances in a shared workspace, running a workspace, editing a workspace, and deleting a workspace.

### Create a Workspace

To create a workspace, Jupyter must be enabled for your instance. See the headings for [Required Grants](#required-grants) and [Enable Jupyter](#enable-jupyter) for instructions.

1. In the navigation header, select **Data**.
2. In the left side rail, select <img alt="Screen_Shot_2022-06-01_at_11.35.48_AM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkP.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=12317b3e2f56f0d507e265867f2febc9" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="172" height="168" data-path="images/kb/0EM5w000005vXkP.png" /> **More** > **Jupyter Workspaces**.
3. Select **+ New Workspace**\*\*.\*\*\
   The **Create Jupyter Workspace** modal displays.
4. Customize the workspace by configuring the following:

* In the **Name** and **Description**fields, enter a workspace name and optional description.
* Enter values in the **Kernel**, **Compute Tier Limit**,and **Timeout** fields.
* (Optional) Select Input DataSets
* (Optional) Select Output DataSets
* (Optional) Add an Account.In this step, you can add a third-party account, such as your Google account, to reference in your workspace.
* (Optional) Add a File Share. See [Create a File Share](#create-a-file-share) for instructions.

<Note>**Note:** If you share your workspace with other users, they can see third-party accounts referenced in the workspace. However, they cannot read any account keys or values. ***To share an account with a user, navigate to Data > Accounts.*** Input and Output DataSets are also shared with Co-Owners.</Note>

The following table describes options to be configured when creating a new workspace:

| Option                                     | Description                                                                                                                                                                      |    |
| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| **Name**                                   | The name of the Jupyter workspace  The following characters are not supported in the name: \[:\*?"\<>                                                                            | ]" |
| **Description**                            | Optional description to provide more details about the workspace                                                                                                                 |    |
| **Computer Tier Limit**                    | The computer size that is allocated to the workspace and any data flows that are associated with this workspace                                                                  |    |
| **Timeout**                                | The amount of time with no user activity in the Jupyter UI before the workspace automatically stops.                                                                             |    |
| **Kernel**                                 | Python or R Kernels are available                                                                                                                                                |    |
| **Start workspace on successful creation** | Once created, the process to start the workspace will be performed                                                                                                               |    |
| **Input DataSets**                         | Optional Domo data sources that are available to use in the Jupyter workspace                                                                                                    |    |
| **Output DataSets**                        | Optional DataSets that are available to write data as part of the Jupyter processing                                                                                             |    |
| **Account**                                | Optional third-party account(s) to reference in your workspace                                                                                                                   |    |
| **File Share**                             | Optional avenue to share files within your workspace. To learn more, see the headings for [Create a File Share](#create-a-file-share) and [Use a File Share](#use-a-file-share). |    |

5. Select **Save.**

The new workspace is created and added to a list of workspaces on the main Jupyter page.

### Enable Workspace Sharing

In order for a workspace to be shared, an Admin or user with the Manage Jupyter Workspace grant must enable sharing.

1. From the Jupyter Workspaces list, navigate to the workspace you wish to share.

2. Hover to the right of the workspace. The <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu displays.

3. Select the <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu and choose **Enable Sharing.**

The **Enable Sharing** modal displays.

4. Select **Continue**and **Confirm**. By selecting **Confirm**, you are acknowledging the risks associated with sharing notebooks and workspaces.

In the **Workspace Sharing** column, the status is **Enabled.** The workspace can now be shared with other users by admins or the workspace owner.

###

### Share a Workspace

In order for a workspace to be shared, an Admin or user with the Manage Jupyter Workspace grant must enable sharing. See [Enable Workspace Sharing.](#enable-workspace-sharing)

1. From the Jupyter Workspaces list, navigate to the workspace you wish to share.

2. Hover to the right of the workspace. The <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu displays.

3. Select the <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu and choose **Share this Workspace.**

The **Manage Sharing** modal displays.

4. Enter the recipient's name, select the appropriate permissions, and select **Add.**

5. Select **Save**.

The workspace is shared with the recipient(s). They can now add instances to the workspace, and the status of those instances can be viewed in the **Status** column on the main Jupyter page.

<Warning>
  **Important:** - Simultaneous editing is not supported. Please check with other users before editing the same file.

  * If you share your workspace with other users, they can see third-party accounts referenced in the workspace. However, they cannot read any account keys or values. Input and Output DataSets are also shared with Co-Owners.
</Warning>

###

### View Instances in a Shared Workspace

When a workspace is shared, other users can add an instance to the workspace.

In the image below, the workspace has sharing enabled and has been shared with one other user.

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkR.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=db056c58bb174e96d0dd47dd83a61926" alt="Screen_Shot_2022-10-12_at_11.56.21_AM.png" width="2002" height="366" data-path="images/kb/0EM5w000005vXkR.png" />
</Frame>

To see which instances are running in the workspace, select **others.**

**<Frame><img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkX.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=e39add935c355728e49f1daeaaf0501d" alt="Screen_Shot_2022-10-12_at_11.56.21_AM.png" width="100" height="100" data-path="images/kb/0EM5w000005vXkX.png" /></Frame>**

In the image below, only one instance is running in the workspace.

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkI.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=6f0ad8a8c3b5c90072a2f7ce066e4013" alt="Screen_Shot_2022-10-12_at_12.29.41_PM.png" width="1248" height="558" data-path="images/kb/0EM5w000005vXkI.png" />
</Frame>

### Run a Workspace

1. From the **Jupyter Workspaces** list, select the workspace you want to run.

The **Start this Workspace** modal displays.

2. Select **Start.**

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkV.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=79b4ea9489aebe05e142f77f79d39652" alt="Screen_Shot_2022-10-12_at_11.52.53_AM.png" width="1034" height="538" data-path="images/kb/0EM5w000005vXkV.png" />
</Frame>

The workspace will load for several seconds. This is normal.

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkH.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=34c28915c53ed1b15cc37ae53d9b7340" alt="Screen_Shot_2022-10-12_at_12.39.17_PM.png" width="940" height="304" data-path="images/kb/0EM5w000005vXkH.png" />
</Frame>

3. After the workspace is done loading, select the workspace title.

The workspace opens, and the notebook can be edited.

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkZ.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=38fc0d957c78dbad4f87b5d532342fa9" alt="Screen_Shot_2022-10-12_at_12.43.30_PM.png" width="36" height="33" data-path="images/kb/0EM5w000005vXkZ.png" />
</Frame>

If two users edit the same file, the **File Changed** modal displays. You can overwrite changes the other user made or revert your changes.

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkU.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=a262c0f6ab4421876d943f4cc091fb67" alt="Screen_Shot_2022-10-12_at_11.50.37_AM_copy.png" width="1038" height="398" data-path="images/kb/0EM5w000005vXkU.png" />
</Frame>

### Edit a Workspace

1. From the **Jupyter Workspaces** list, locate the workspace you wish to edit.

2. Hover to the right of the workspace. The <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu displays.

3. Select the <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu and choose **Edit.**

The **Edit Jupyter Workspace** modal displays.

4. Add new specifications to the workspace and select **Save.**

The workspace is updated with new details.

### Delete a Workspace

1. From the Jupyter Workspaces list, navigate to the workspace you wish to delete.

2. Hover to the right of the workspace. The <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu displays.

3. Select <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 32, height: 30, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu and choose **Delete.**

The **Delete Test?** modal displays.

4. Confirm that you wish to delete the workspace by selecting the **Delete** button.

The workspace is deleted. This action cannot be undone.

## File Sharing

You can create and add a File Share to your Jupyter Workspace. The following headings describe how to create a File Share, add it to your workspace, and delete a File Share from your workspace.

### Create a File Share

Follow these steps to create a File Share to use in Jupyter Workspaces. See the heading for [Use a File Share](#use-a-file-share) to learn how to connect a File Share with Jupyter Workspaces.

1. In the Domo navigation header, select **Data**.
2. In the left side rail, select <img alt="Screenshot 2023-03-03 at 10.48.19 AM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000006u2ot.jpg?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=6d797ab0deb8c68e40255acb5316b941" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="72" height="68" data-path="images/kb/0EM5w000006u2ot.jpg" /> **More** > **File Share**.
3. Select **+ New File Share**.\
   The **Create a File Share** modal displays.

   <Frame>
     <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000006u548.jpg?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=213dcaf424fc19d264c5cf076bf8cb88" alt="create a file share modal.jpg" width="756" height="468" data-path="images/kb/0EM5w000006u548.jpg" />
   </Frame>
4. Customize the File Share by configuring the following:
   * In the **Name** and **Description** fields, enter a File Share name and optional description.
   * In the **Default Mount Point** field, enter a ***path**.* This can be whatever you would like.
5. Select **Save** to create the new File Share.

### Use a File Share

<Note>**Note:** If the workspace is already running and you add a File Share, you must restart the workspace before the File Share displays in the list.</Note>

The process outlined below allows you to use a File Share that you have created. To learn how to make a File Share, see the heading for [Create a File Share](#create-a-file-share).

While you are creating or editing a Jupyter Workspace, you can add a File Share that you have created.

Follow the steps below to add a File Share in the **Create Jupyter Workspace** or **Edit Jupyter Workspace** modal. To learn how to access these modals, see the headings for [Create a Workspace](#create-a-workspace) and [Edit a Workspace](#edit-a-workspace).

1. In the **File Share** section of the modal, select **Add File Share**.
2. In the search field, search for and locate the File Share you want to add to the workspace.
3. Select the File Share.
4. The File Share displays in the modal. By default, the Mount Point is the default Mount Point, and the checkbox for **Use default** is checked. To use a different Mount Point, uncheck the **Use default** checkbox and expand the list to select the Mount Point you want to use.

   <Frame>
     <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000006u54h.jpg?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=5a14f8cae316aa945ed2ebfa7ce419d2" alt="file share default.png" width="4568" height="1812" data-path="images/kb/0EM5w000006u54h.jpg" />
   </Frame>

   <Frame>
     <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000006u54m.jpg?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=1e70767644ad825b8d6a70cd28a32594" alt="mount path.png" width="3652" height="1440" data-path="images/kb/0EM5w000006u54m.jpg" />
   </Frame>
5. Select **Save Workspace**.

The File Share is added to the workspace and can also be viewed in the **File Browser** in [Jupyter Notebooks](#jupyter-notebooks).

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uxIa.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=f81c8cf4b44f552ed6879290c50d2d32" alt="Screenshot 2023-06-07 at 2.37.54 PM.png" width="1624" height="972" data-path="images/kb/0EM5w000006uxIa.jpg" />
</Frame>

### Delete a File Share

1. Access the \*\*Create Jupyter Workspace **or**Edit Jupyter Workspace \*\*modal.\*\*\*\*To learn how to access these modals, see the headings for [Create a Workspace](#create-a-workspace) and [Edit a Workspace](#edit-a-workspace).
2. In the **File Share** section of the modal, identify the File Share you want to delete and select the <img alt="kebab.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000006u54X.jpg?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=e788f874bb600a2ffbea59b8c70375f6" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="80" height="68" data-path="images/kb/0EM5w000006u54X.jpg" /> kebab menu.
3. Select **Delete**.

   <Frame>
     <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000006u54c.jpg?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=fe41e86bb343802a32a64e6078b616ea" alt="select kebab menu.png" width="1936" height="406" data-path="images/kb/0EM5w000006u54c.jpg" />
   </Frame>

The File Share is deleted from the workspace.

## Jupyter Notebooks

A Jupyter notebook is a file that consists of one or more cells. In these cells, you can write and format text, as well as write code using Python or R programming languages. When you execute the contents of a cell, the resulting output associated with the text or code displays directly in the notebook. The output can take various forms such as text, figures, tables, and images. You can add, edit, move, duplicate, re-run, and delete cells within a notebook at your discretion. You can also run cells sequentially to perform different phases of your project one after the other. For example, the first cell in your notebook could contain code to read in your DataSet; the second cell could then contain code that specifies what analysis to run on the DataSet.

See [Cells](#cells) to learn about the types of cells, how to add them to a notebook, and how to execute them.

Because a Jupyter notebook file can display executable code and the associated code output, along with explanatory text and images, a notebook can serve as a complete record of your interactive session.

You can save a Jupyter notebook to your Jupyter workspace, enabling you to access your notebook and its contents in the future. Jupyter notebooks are internally JSON files and are saved with the .ipynb extension.

You can also download a notebook from your workspace and save it elsewhere or share it.

<Note>**Note:** You can create and save multiple Jupyter notebooks within a single Jupyter workspace.</Note>

This image displays an example of a Jupyter notebook.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVGb.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=2a9967c627c9e0597fb6a60b7e4cea2b" alt="example jupyter notebook.png" width="936" height="830" data-path="images/kb/0EM5w000006uVGb.jpg" />
</Frame>

In the **File Browser** in Jupyter Notebooks, you can navigate between notebooks and even see associated File Shares.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uxIa.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=f81c8cf4b44f552ed6879290c50d2d32" alt="Screenshot 2023-06-07 at 2.37.54 PM.png" width="1624" height="972" data-path="images/kb/0EM5w000006uxIa.jpg" />
</Frame>

### Edit Jupyter Notebooks

<Warning>**Important:** To edit a notebook, you first have to create and then start (or run) a workspace. See [Create a Workspace](#create-a-workspace) and [Run a Workspace](#run-a-workspace) for more information.</Warning>

### Create a Notebook

Follow these steps to create a notebook:

1. In the Jupyter workspace, select **File** > **New** > **Notebook**.\
   The **Select Kernel**modal displays.

   <Frame>
     <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVHF.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=81aef276e54ec91641bac9808a712271" alt="file new notebook.png" width="936" height="524" data-path="images/kb/0EM5w000006uVHF.jpg" />
   </Frame>
2. Press **Select**.\
   A notebook named *Untitled.ipynb* opens in the main work area. The untitled notebook also displays in the **File Browser** in the workspace side panel.

   <Frame>
     <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uWvp.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=1a40f647ab43fef1fd0878ee0ed8549f" alt="untitled notebook.jpeg" width="936" height="498" data-path="images/kb/0EM5w000006uWvp.jpg" />
   </Frame>

### Rename a Notebook

You can rename a notebook either from the main work area or from the **File Browser**, depending on whether the notebook is open or closed. Select the appropriate option below:

* \*\*Notebook open —\*\*In the main work area, right-click the title of the notebook to display the notebook options and select **Rename Notebook**. The **Rename File** dialog displays. Enter a new name for the notebook and select **Rename**.

  <Frame>
    <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uWxb.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=9540d5b9bc4d4d7c1a99295fb9bf5293" alt="rename notebook.png" width="936" height="250" data-path="images/kb/0EM5w000006uWxb.jpg" />
  </Frame>
* \*\*Notebook closed —\*\*In the **File Browser**, right-click the title of the notebook that you want to rename to display the file options, then select **Rename**. Enter a new name for the notebook.

  <Frame>
    <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uWxl.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=8a259e36f2bc413aff3479bcf58ceec8" alt="rename notebook file.png" width="936" height="436" data-path="images/kb/0EM5w000006uWxl.jpg" />
  </Frame>

### Save a Notebook

To save a notebook to your Jupyter workspace, select **Save**in the main work area.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVoY.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=8bc2c4ed0ebcf53e89aac984f3cb377e" alt="save a notebook.png" width="938" height="166" data-path="images/kb/0EM5w000006uVoY.jpg" />
</Frame>

### Delete a Notebook

You can delete a notebook either from the main work area or from the **File Browser**, depending on whether the notebook is open or closed. Select the appropriate option below:

* **Notebook open —** In the main work area, right-click the title of the notebook to display the notebook options and select **Delete Notebook**. A dialog displays. Select **Delete**.

  <Frame>
    <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVsf.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=7bf600ba8f77bfcd75e1f5c617b07399" alt="delete open notebook.png" width="936" height="214" data-path="images/kb/0EM5w000006uVsf.jpg" />
  </Frame>
* **Notebook closed —** In the left panel, right-click the title of the notebook you want to delete to display the notebook options and select **Delete**. A dialog displays. Select **Delete**.

  <Frame>
    <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uWyP.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=0110b1a969effb81761520ff069822cc" alt="Picture1.jpg" width="936" height="438" data-path="images/kb/0EM5w000006uWyP.jpg" />
  </Frame>

### Schedule a Notebook

You can schedule a Jupyter notebook to run automatically at a set cadence. The available cadence options are listed below:

* Once a day at a set time
* Multiple times a day at set times
* Every day
* Specific days of the week
* Specific days of the month
* Every month
* During specific months

You can also [manually run a scheduled notebook](#manually-run-a-scheduled-notebook).

Scheduling a notebook by following the steps below creates an associated Jupyter DataFlow that automatically runs your Jupyter notebook. The Jupyter DataFlow has other useful functionalities, which are also described in this section.

Follow these steps to schedule a notebook or make changes to the schedule:

1. Open the notebook you want to schedule. In the toolbar, select **Schedule Notebook**. The **Create DataFlow**modal displays.

   <Frame>
     <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVuW.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=5677755f7cec7a08280029d7f1c7a521" alt="schedule notebook.png" width="936" height="240" data-path="images/kb/0EM5w000006uVuW.jpg" />
   </Frame>
2. In the modal, fill in the **Name** and optional **Description** fields.
3. Select a **Compute Tier**.
4. In the \*\*When should this DataFlow be run?\*\*menu, select **On a Schedule.**
5. Set the schedule for the notebook.
6. Select **Save**.

   <Frame>
     <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVvK.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=224c93615a2503a3913015ab794aa67e" alt="set run schedule.png" width="936" height="890" data-path="images/kb/0EM5w000006uVvK.jpg" />
   </Frame>

The DataFlow now displays in the **DataFlows** section of your Data Center. To view it, select **Data** in the navigation header and then select

<img alt="Screenshot 2023-04-20 at 4.51.05 PM.png" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uWz3.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=c0b44823724bb431e545cbbba3503770" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="88" height="92" data-path="images/kb/0EM5w000006uWz3.jpg" />

**DataFlows** in the Data Center sidebar. Select your Jupyter DataFlow to see the Details view.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uWzD.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=34576bc50bb05c0b5d56357f2fbe87f1" alt="jupyter dataflow.png" width="936" height="236" data-path="images/kb/0EM5w000006uWzD.jpg" />
</Frame>

In the **History** tab of the Details view, you can see the execution details for the DataFlow. You can also [download notebook output](#download-notebook-output).

In the **Versions** tab, you can see the versions list for the DataFlow.

There is no information in the **Settings**, **DataSets**, or **Lineage** tabs.

You can open the Jupyter notebook associated with the DataFlow by selecting **Edit in Jupyter** from the Details view.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVy9.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=707460a66886f38fe153ff23c325d61e" alt="edit in jupyter.png" width="936" height="182" data-path="images/kb/0EM5w000006uVy9.jpg" />
</Frame>

####

#### Download Notebook Output

You can download notebook output for a specific execution of a Jupyter DataFlow by following these steps:

1. Navigate to the **History**tab of the Details view for that DataFlow.

   <Frame>
     <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uWzm.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=b0e54c1e3b8991d575da36b40736acd3" alt="history tab.jpg" width="936" height="214" data-path="images/kb/0EM5w000006uWzm.jpg" />
   </Frame>
2. Identify the row in the log that represents the run for which you want output information.
3. Select the <img alt="Screenshot 2023-02-16 at 4.07.28 PM.png" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVwD.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=efb50587e99651f635546055cb89de7f" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="80" height="56" data-path="images/kb/0EM5w000006uVwD.jpg" /> action menu for that row.
4. Select **View Details**in the action menu.\
   A dialog displays where you can select to download the output as an IPYNB, HTML, or PDF file.

   <Frame>
     <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uX0B.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=675556c4981926df61309bc2906d475a" alt="view details.png" width="972" height="184" data-path="images/kb/0EM5w000006uX0B.jpg" />
   </Frame>

In this example, the notebook output was downloaded as a PDF file:

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVx1.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=1b2cdd206b5a4a3fa97152a3cb5ddf6d" alt="example notebook output.png" width="868" height="98" data-path="images/kb/0EM5w000006uVx1.jpg" />
</Frame>

#### Manually Run a Scheduled Notebook

Manually run a scheduled Jupyter notebook by following these steps:

1. Locate the Jupyter DataFlow for the scheduled Jupyter notebook in the **DataFlows** section of the Data Center.
2. Select <img alt="Screenshot 2023-03-30 at 5.25.32 PM.png" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVxG.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=0dbd554f4c4b93212900560893edc60e" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="64" height="62" data-path="images/kb/0EM5w000006uVxG.jpg" /> **DataFlow options**in the row for the Jupyter DataFlow. In the list of options, select **Run**.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uX0G.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=5e577d2f44bbebde68556574b4d060d3" alt="run manually.png" width="936" height="236" data-path="images/kb/0EM5w000006uX0G.jpg" />
</Frame>

### Cells

A Jupyter notebook file consists of one or more gray, rectangular fields called cells.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uXDU.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=ecabb19f045f4d9dcc02bfb79b0d977b" alt="empty cell.png" width="984" height="288" data-path="images/kb/0EM5w000006uXDU.jpg" />
</Frame>

You can enter various kinds of input into a cell and then execute it to receive output. What you can enter into a cell, as well the cell's output on execution, is determined by the cell type. There are three types of cells: code cells, markdown cells, and raw cells, described below.

* \*\*Code cells —\*\*In these cells, you can write and edit code. The programming language that you use to write code depends on the type of kernel (either Python or R) that you selected when creating your Jupyter workspace. After you execute or run a code cells, the output of the code displays directly below the code cell. The output can take various forms such as text, figures, tables, and images.
* **Markdown cells —** In these cells, you can write text. You can also use Markdown language to mark up or format text, including italicizing and bolding, specifying lists, and creating headings. After you execute or run a markdown cell, the text you wrote is formatted into rich text. You can learn about [basic Markdown synxtax](https://www.markdownguide.org/basic-syntax/) <img alt="external link.png" src="https://mintcdn.com/domoinc/9fJ1gL7La7SSMrPg/images/kb/0EMVq000000KZ85.jpg?fit=max&auto=format&n=9fJ1gL7La7SSMrPg&q=85&s=94e9d42cd0b098cecd5558bccb5a69c8" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="32" height="32" data-path="images/kb/0EMVq000000KZ85.jpg" /> here.
* \*\*Raw cells —\*\*In these cells, you can write output directly or save code that you don't want to run.

You can determine a cell's type by selecting the cell and viewing the list in the toolbar at the top of the notebook. In this example, the notebook contains a code cell. See [Change Cell Type](#change-cell-type) for more information.

#### Change Cell Type

You can change a cell's type by selecting the cell and then selecting the cell type menu in the toolbar and choosing the cell type you want: code, markdown, or raw. To learn more about the cell types, see [Cells](#cells).

<Note>**Note:** By default, new cells are code cells.</Note>

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVJL.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=26c4d5538173277f6e1e4ae0a3a35f60" alt="code type menu.png" width="936" height="302" data-path="images/kb/0EM5w000006uVJL.jpg" />
</Frame>

#### Add Cells to a Notebook

You can add cells to a notebook using one of these two options:

* \*\*Add —\*\*Select <img alt="add.jpg" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVKY.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=b2cf8d16ac704467092885fd3b1497e3" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="16" height="18" data-path="images/kb/0EM5w000006uVKY.jpg" /> **Add** in the toolbar. This adds a cell to the end of the notebook.
* \*\*Insert cell —\*\*Select <img alt="add cell above.jpg" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVKd.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=9aff3b4e6b9d1d02e701fb70c191d48f" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="20" height="24" data-path="images/kb/0EM5w000006uVKd.jpg" /> **Insert cell above** or <img alt="add cells below.jpg" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVKi.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=345692331541418dc845400d8e6f295b" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="22" height="24" data-path="images/kb/0EM5w000006uVKi.jpg" /> **insert cell below** to add a cell above or below the currently selected cell.

<Note>**Note:** All new cells are code cells. See [Cells](#cells) for information about cell types, and see [Change Cell Type](#change-cell-type) for how to change a cell's type.</Note>

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVKn.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=07da612851d6ff9413af05ae2bee87f3" alt="add cells COPY.jpg" width="936" height="166" data-path="images/kb/0EM5w000006uVKn.jpg" />
</Frame>

#### Other Cell Options

You can make other changes to cells such as delete, move, copy, cut, paste, merge, or split.

Select **Edit**in the workspace toolbar and then select the option you want or enter the corresponding keyboard shortcut. You can also use the notebook and cell controls to make changes to cells.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uXDZ.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=3b9b416e6cdf79a9e640729e5f704ead" alt="notebook and cell controls.png" width="936" height="334" data-path="images/kb/0EM5w000006uXDZ.jpg" />
</Frame>

#### Add Input to Cells

To add input such as text or code (Python, R, or Markdown) to a cell, select the cell in the notebook and enter your input.

<Note>**Note:** The content you can put in your cell depends on the cell's type. See [Cells](#cells) for more information.</Note>

#### <Frame><img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVLb.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=a70193e80b9d45c314477ccd852c15fb" alt="add input to cells.png" width="936" height="190" data-path="images/kb/0EM5w000006uVLb.jpg" /></Frame>

#### Execute/Run Cells

When you execute or "run" the contents of a cell, the resulting output associated with the input text or code displays directly in the notebook. The output can take forms such as text, figured, tables, and images, depending on the input and cell type. See [Cells](#cells) for more information. You can execute one or more cells at the same time.

To execute an individual cell, select the cell and press <img alt="play.jpg" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVLg.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=eaa679d537d02ce92970f085f4a75f0a" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="16" height="16" data-path="images/kb/0EM5w000006uVLg.jpg" /> **Play** in the toolbar.

To execute multiple cells, follow these steps:

1. Press **Esc** on your keyboard.
2. Press **Shift** + **Up/Down arrow** to select the cells you want to execute.
3. Press <img alt="play.jpg" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uVLg.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=eaa679d537d02ce92970f085f4a75f0a" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="16" height="16" data-path="images/kb/0EM5w000006uVLg.jpg" /> **Play**in the toolbar. <img alt="input cell.jpg" src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uXDt.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=d78c487f0e04bb235a6ac56586469b3a" style={{width: 20, height: 20, display: 'inline', verticalAlign: 'start', margin: '0'}} width="936" height="190" data-path="images/kb/0EM5w000006uXDt.jpg" />
   To execute all the cells at the same time, select **Run** > **Run All Cells** in the workspace toolbar.

If the cell(s) execute successfully, the output displays in the notebook. See examples of a markdown cell and a code cell below.

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uXCm.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=5be38f52a685bf6853757e3dac13db45" alt="markdown cell.png" width="936" height="214" data-path="images/kb/0EM5w000006uXCm.jpg" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/domoinc/56TzDobfZsKZ_1dZ/images/kb/0EM5w000006uXDy.jpg?fit=max&auto=format&n=56TzDobfZsKZ_1dZ&q=85&s=11e4c5d28828f83ddb4b8716d3f9a3c0" alt="code cell.png" width="936" height="240" data-path="images/kb/0EM5w000006uXDy.jpg" />
</Frame>

### Executions via Workflows

You can execute a Jupyter Notebook in Workflows by creating a new workflow and adding the Domo Jupyter automated function task.

Learn more about [Workflows](/docs/s/article/000005108).

To set up your Jupyter Notebook execution in Workflows, you need the Workspace ID, the path to the Notebook, and the payload to execute against. You can retrieve the Workflow ID from your browser's navigation bar after selecting the Workflow.

<Frame>
  <img src="https://mintcdn.com/domoinc/aLPJK5CyL2AKwzAg/images/kb/0EMVq000005IevQ.jpg?fit=max&auto=format&n=aLPJK5CyL2AKwzAg&q=85&s=def2e39c8e8d2b46538d9415e2a98701" alt="Screenshot 2025-02-10 at 2.54.00 PM.png" width="2015" height="413" data-path="images/kb/0EMVq000005IevQ.jpg" />
</Frame>

After obtaining the necessary information, navigate to your Jupyter Notebook and update to the latest version of the **domo-jupyter** library.

```
conda install -c https://domo-conda-prod.s3.amazonaws.com/domo domojupyter=1.1.32
```

<Frame>
  <img src="https://mintcdn.com/domoinc/aLPJK5CyL2AKwzAg/images/kb/0EMVq000005IqwX.jpg?fit=max&auto=format&n=aLPJK5CyL2AKwzAg&q=85&s=83e7ae10167dbe166f12fddc1d623add" alt="A screenshot of a computerAI-generated content may be incorrect." width="1600" height="896" data-path="images/kb/0EMVq000005IqwX.jpg" />
</Frame>

Restart the kernel after successfully installing the new library by selecting **Kernel**> **Restart Kernel**.

<Frame>
  <img src="https://mintcdn.com/domoinc/aLPJK5CyL2AKwzAg/images/kb/0EMVq000005IkWC.jpg?fit=max&auto=format&n=aLPJK5CyL2AKwzAg&q=85&s=a7ac5f2d3fa31d558a008550ceca3d69" alt="A screenshot of a computerAI-generated content may be incorrect." width="1030" height="410" data-path="images/kb/0EMVq000005IkWC.jpg" />
</Frame>

After they have been installed, you can use the two execution methods in your Notebook.

```
import domojupyter.execution as domo_execution
import json

payload = domo_execution.get_payload()
new_payload = {'newProperty': payload['test'] + 'NEW!'}

# write_response - is required to get the output
domo_execution.write_response(new_payload)
```

## Jupyter Basics

This section contains information about other features of Jupyter Workspaces.

### Reading Data

Data can be read into a Jupyter Notebook using the domojupyter library. This library provides useful functionality to interact with Domo within Jupyter. Before data can be read into a Jupyter Notebook using the domojupyter library, your workspace must have an input data source.

If you are creating a new workspace, see the earlier section, [Create a Workspace.](#create-a-workspace)

If your workspace already exists but doesn't have an input data source, follow the steps below:

1. In Jupyter Workspaces, locate your workspace from the list. You can search and filter by owner.

2. Hover over your workspace. The <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 34, height: 32, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu displays.

3. Select the <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 34, height: 32, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu and choose **Edit**.

The **Edit Jupyter Workspace** modal displays.

4. In the **Edit Jupyter Workspace** view, select **Add Input DataSet**and choose a data source to be read into a Jupyter Notebook.

5. After choosing a DataSet, select **Save Workspace.**

The workspace has an input DataSet, and data can now be read into a Jupyter Notebook using the domojupyter library. All DataSets used in the workspace are located in **Data** > **DataSets.**

6. Use the `domo.read_dataframe` command to read data from a Domo data source into your Jupyter Notebook for further processing and analysis.

See the example below:

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkG.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=334b480c224945a7dd0ca36137880e9f" alt="readingdata.png" width="1430" height="381" data-path="images/kb/0EM5w000005vXkG.png" />
</Frame>

### Writing Data

Data can be written back to a Domo data source using the domojupyter library. This library provides useful functionality to interact with Domo within Jupyter. Before data can be written into a Jupyter Notebook using the domojupyter library, your workspace must have an output data source.

If you are creating a new workspace, see the earlier section, [Create a Workspace.](#create-a-workspace)

If your workspace already exists but doesn't have an output data source, follow the steps below:

1. In Jupyter Workspaces, locate your workspace from the list. You can search and filter by owner.

2. Hover over your workspace. The <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 24, height: 23, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu displays.

3. Select <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 24, height: 22, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu and choose **Edit**.

The **Edit Jupyter Workspace** modal displays.

4. In the **Edit Jupyter Workspace** view, select **Add Output DataSet** and choose a data source to be written into a Jupyter Notebook.

5. After choosing a DataSet, select **Save Workspace.**

The workspace has an output DataSet, and data can now be written into a Jupyter Notebook using the domojupyter library. All DataSets used in the workspace are located in **Data** > **DataSets.**

<Note>**Note:** A new dataset is created for each added output.</Note>

6. Use the `domo.write_dataframe`command to write results back to the Domo Data sources configured for the Jupyter workspace.

See the example below:

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkY.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=11dc46894540b08b5248e10151f144e3" alt="writingdata.png" width="1430" height="770" data-path="images/kb/0EM5w000005vXkY.png" />
</Frame>

### Use Append, Upsert, and Partition

Use the following commands to update a DataSet:

* domo.write\_dataframe(df, output\_dataset)
* domo.write\_dataframe(df, output\_dataset, update\_method="REPLACE")
* domo.write\_dataframe(df, output\_dataset, update\_method="APPEND")
* domo.write\_dataframe(df, output\_dataset, update\_method="UPSERT", update\_key=column\_name)
* domo.write\_dataframe(df, output\_dataset, update\_method="PARTITION", partition\_name='Example Name')

<Note>**Note:** If no update\_method is provided, the default functionality is a REPLACE method. If you want to change the update\_method back to REPLACE from another method, you need to explicitly set the update\_method to REPLACE, and Jupyter overrides the last set method. When performing a UPSERT update\_method, the data cannot have duplicate values in the `update\_key` column, or the UPSERT fails.</Note>

For information on which update method to use, see our[DataSet Update Methods](http://domo-support.domo.com/s/article/360043430733?language=en_US) article.

### Use Accounts

Third-party accounts can be referenced in a Jupyter Notebook using the domojupyter library. This library provides useful functionality to interact with Domo within Jupyter. Before account keys and values can be accessed, your workspace must have an account.

If you are creating a new workspace, see the earlier section, [Creating a Workspace.](#create-a-workspace)

If your workspace already exists but doesn't have a third-party account attached, follow the steps below:

1. In Jupyter Workspaces, locate your workspace from the list. You can search and filter by owner.

2. Hover over your workspace. The <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 34, height: 32, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu displays.

3. Select the <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 34, height: 32, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" /> **Manage Workspace** menu and choose **Edit**.

The **Edit Jupyter Workspace** modal displays.

4. In the **Edit Jupyter Workspace** view, select **Accounts** > **Add Account**and select a third-party account.

5. After making your selection, select **Save Workspace.**

The workspace has a third-party account set up. Keys and values can now be read into a Jupyter Notebook using the domojupyter library.

6. The following commands can be used to get account information:

* `domo.get_account_property_value('account')` will return the specific value assigned to a property on your account.
* `domo.get_account_property_value('account',account_properties[0])` will return all properties that exist in an account.

See the example below, where 'S3Account' is the account being referenced:

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkT.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=f5fb38e29a5552df901b16f6ad63750b" alt="Screen_Shot_2022-10-17_at_4.03.43_PM.png" width="1674" height="382" data-path="images/kb/0EM5w000005vXkT.png" />
</Frame>

### Install and Use Libraries

Libraries can be installed in the Jupyter workspace by opening a terminal and executing the appropriate commands. An example command to install the Seaborn library is `conda install seaborn -y`. Once installed, these libraries can be imported and used within the Jupyter Notebooks.

See the example below:

<Frame>
  <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkW.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=dcddb7f50f102beaa3c471448f6aafb7" alt="installingandusinglibraries.png" width="1430" height="369" data-path="images/kb/0EM5w000005vXkW.png" />
</Frame>

### Usage Monitoring

You can monitor Jupyter usage within Domo. As a prerequisite, you need to be assigned either the default Admin role or a custom role with the View Usage Metrics and Manage Jupyter Workspaces grants.

Follow the steps below to create a custom role with usage-based billing access.

1. Clone an existing role such as the default Admin role.
2. Remove any grants from the cloned role that are not needed for a billing admin.
3. Add the View Usage Metrics and Manage Jupyter Workspaces grants to this role.

You can learn more about creating custom roles in our article on [Managing Custom Roles](http://domo-support.domo.com/s/article/360043438973?language=en_US).

After you create the role, follow these steps to view your usage:

1. In the navigation header, go to **More**> **Admin**.\*\*\*\*
2. On the **Admin** screen in the **Company settings** menu, select **Usage**.
3. Go to the **Jupyter Compute** tab.

   <Frame>
     <img src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005wycQ.jpg?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=85037b12560d79366fc05b1ad0ad9590" alt="jupyter-compute-usage.png" width="1484" height="960" data-path="images/kb/0EM5w000005wycQ.jpg" />
   </Frame>

## FAQ

<AccordionGroup>
  <Accordion title="Can I install Plugins?">
    Plugins are not currently supported.
  </Accordion>

  <Accordion title="Can I trial the feature?">
    Please contact your Customer Success Manager (CSM) or Account Executive (AE) for the most up-to-date information on the trial experience of Jupyter.
  </Accordion>

  <Accordion title="Does Domo offer data science services?">
    Yes, we have a team of experienced data scientists ready to help as needed. Please contact your Account Executive (AE) for more information.
  </Accordion>

  <Accordion title="How do I change the kernel?">
    First, you must stop the workspace. You may then change the kernel in the Domo workspace edit view.
  </Accordion>

  <Accordion title="Can I reset the kernel?">
    Yes. When you hover over a workspace, the

    <img alt="Screen_Shot_2022-09-06_at_2.52.30_PM.png" src="https://mintcdn.com/domoinc/7KY56GXBiHLqBgUN/images/kb/0EM5w000005vXkS.png?fit=max&auto=format&n=7KY56GXBiHLqBgUN&q=85&s=c1e215aab7681fea1571e6efa13cce91" style={{width: 26, height: 24, display: 'inline', verticalAlign: 'start', margin: '0'}} width="122" height="114" data-path="images/kb/0EM5w000005vXkS.png" />
  </Accordion>

  <Accordion
    title="Manage Workspaces** menu displays. Choose **Restore Kernel Defaults** from the options. All instances must be stopped to fulfill this action.

**Do I need to know how to code using Python or R programming languages in order to use a Jupyter notebook?"
  >
    If you want to do any kind of data exploration or analysis (such as load a DataSet, develop data science models or machine learning pipelines, create custom data tables or figures, or write transformed data back into Domo) in a notebook, you need experience with either R or Python.
  </Accordion>

  <Accordion title="I'm experiencing issues integrating third-party libraries.">
    Domo's Jupyter integration allows users to install third-party libraries. However, Domo does not natively support every third-party library. Some third-party libraries may require more effort on the user's end to install, configure, and troubleshoot.
  </Accordion>

  <Accordion title="Can I integrate Jupyter Workspaces with GitHub?">
    Domo supports integrating and maintaining git repositories within the Jupyter Workspaces interface. After you complete integration, you can repeatedly push updates (including updated Jupyter notebook files) from Jupyter Workspaces to the GitHub repository you select using standard Git operations. See [Use Jupyter Workspaces with GitHub](/docs/s/article/000005166) for more information.
  </Accordion>

  <Accordion title="The minimum Python version available is 3.9, what is Domo's policy of depreciating supported versions?">
    At this time, we have no plans to deprecate any of our Python versions.
  </Accordion>

  <Accordion title="There are four categories of workspace available, each with the same four CPUs. What will be the configuration of each category in production?">
    Right now, trial Jupyter customers only have access to four tiers. Customers on consumption should have nine tiers for Jupyter, each with a different CPU allocation.
  </Accordion>

  <Accordion title="How can I host a service that will continuously run as an API?">
    Jupyter does not have the ability to run continuously.
  </Accordion>

  <Accordion title="Does Domo have any code copilot/assistant?">
    At this time, we do not have any support for copilot. We are looking into this to determine its feasibility and where it could fit on the roadmap.

    Experiencing issues? See the [Jupyter Troubleshooting Guide](/docs/s/article/7440921035671) or contact [support@domo.com](mailto:support@domo.com) for assistance.
  </Accordion>
</AccordionGroup>
