Skip to main content

Sharing

This guide explains how to share and/or fork Gradient Notebooks for others to run and how to guarantee reproducibility so that your collaborators always have a good experience.

Introduction to sharing and forking notebooks

Gradient Notebooks makes it easy to collaborate with teammates. Notebooks are shared at the team level and can take advantage of shared persistent storage at the team level. Notebooks can also be made public or private.

How to share a notebook

The Share button in the notebook IDE provides a quick and easy way to generate a shareable link for a notebook.

Use the Share button in the notebook IDE to generate a unique link for a notebook.

If public access is granted, anyone with the link will be able to view the contents of the notebook.

How to fork a notebook

Forking is useful to clone a public notebook into our workspace or to duplicate a notebook that is already in our workspace. Forking a notebook creates a new history for the notebook.

Fork a notebook from within the notebook IDE by using the hamburger menu in the top left of the IDE:

Notebooks can be forked using the menu within the notebook IDE.

Fork a notebook from the Gradient Notebooks console using the 3-dot menu:

Notebooks may also be forked using the menu in the Gradient Notebooks console.

The files copied to the notebook are those listed in the notebook include file, which is explained in the next section.

How to configure a notebook for forking

When a notebook is offline, some files are copied to the storage provider to enable offline viewing. By default, the list of files includes .ipynb and .md files. Additionally, if the notebook was instantiated using a git repo as a workspace, Gradient will upload any files that are tracked by git.

It's possible to specify exactly which files should be available offline by providing a .notebookinclude file in the /notebooks directory.

The file is similar to syntax found in a .gitignore file, however in this case we will be including files instead of ignoring them. Negative patterns are supported.

The default .notebookinclude file looks like this:

*.md
*.ipynb

# and all of the files from `git ls-files`

In the following example, we tell gradient to upload all .png files to the storage provider while skipping dataset files:

*.png # include all png files
!datasets/**/*.png # exclude the ones in my datasets

Now we will use a negative example to exclude .md files:

!*.md

Reference for operations within .notebookinclude file

ItemDescription
#Comments out the line
!Negates the pattern
/Directory separator
\*Wildcard
?Wildcard exactly one character
[a-zA-Z]Range notation to match a character in the range
**/Match in all directories
/**Match all files within a directory
a\*\*/bMatch zero or more directories between a and b