Notebooks in Workspaces limitations¶
Notebook services and runtime¶
Notebook services are subject to an account limit of 200 active services.
Notebooks in different workspaces cannot share a service.
Notebooks in the same workspace connect to a shared service by default.
Users may create multiple services within a workspace and assign notebooks to different services as needed.
Notebook services may be restarted over the weekend for container service maintenance. After a restart, you must rerun notebooks and reinstall any packages to restore variables and packages. For more information, see Service maintenance.
Package installation and listing behavior differs between
uvand standardpip. Snowflake supports installing packages usinguv pip install, anduv pip freezelists only packages installed usinguv pip install.pip freezelists all packages available in the environment, including packages in the base image, packages installed with standard pip install, and packages installed withuv pip install.Communicating with external stages is not supported.
Using notebooks in Workspaces¶
Queries in SQL cells do not appear in the Query History pane until you shut down the kernel:
Select Connected.
Select Shut down kernel.
Suspend the notebook service.
Renaming notebook files, folders, or the workspace can cause unexpected behavior, including service disconnection, clearing the notebook’s output cache, or delays in updating referenced files.
If you are disconnected, try reconnecting the notebook. If you renamed the workspace, create and use a new service.
Cell-by-cell rendering is not currently supported when viewing differences in Git-integrated workspaces or when viewing publish history in shared workspaces. The entire notebook file is displayed as a unified diff.
Editing and running notebooks¶
Updates to Python files (
.py) imported by a notebook are not automatically detected by the active notebook service. To apply changes, restart the notebook kernel or use the%autoreloadmagic command before your initial import so that file updates are detected automatically.Each cell has an output limit of 1 MB.
Output of previous notebook executions is cached in an internal storage system, which is not yet Tri-Secret Secure. Access to this cache is encrypted at rest and results in the cache are guarded by governance rules.
iPywidgets are not yet supported.
Embedding images in Markdown cells or using remote images via URLs is not yet supported.
To embed an image in your notebook, upload it to your workspace and display it using a Python cell, for example:
from IPython.display import Image, display display(Image(filename="path/to/example_image.png"))
For a cleaner presentation, you can collapse the code cell to show only the image result.
SQL cells cannot run EXECUTE NOTEBOOK PROJECT (non-interactive execution). To chain notebooks, use Jupyter magic commands, such as
%run, which executes another notebook in the same Python process. For more information, see Jupyter magics.If the execution context (database and schema) or the query warehouse is not set when you run notebooks in Workspaces, the interactive datagrid for displaying table results in code cells and cell referencing may not function properly. For information about setting the execution context, see Set the execution context.
Migrating from legacy notebooks¶
For information about migrating legacy notebooks to Workspaces, see Migrating legacy notebooks to Workspaces.