Help and Documentation


What is Azure Notebooks? 

Azure Notebooks is a free service for anyone to develop and run code in their browser using Jupyter.  Jupyter is an open source project that enables combing markdown prose, executable code, and graphics onto a single canvas: 



Azure Notebooks currently supports Python 2, Python 3, R and F# and their popular packages. For example, for Python the Anaconda distro is preinstalled.   All your code and data is persisted. 

Usage Scenarios

Since Azure notebooks is a general code authoring, execution and sharing platform, you can use it for many diverse scenarios: 

You also get Terminal/Shell access to your own Linux environment which you can use for git, file, etc. operations.

Current Service limitations 

The service is free but there are network limitations to prevent abuse.  We have white-listed lots of data sources and services and regularly add more per user requests. 

There is a 4G memory limit per user and a 1G data limit. 

Next steps 
  • Check out some of the frontpage samples and tutorials.   You can view any pubic notebook on without logging in. 
  • If you want to run a notebook, simply login (any Microsoft, Gmail, etc. email address “Clone” the Library of notebooks so you have your own copy, and click “Cell/Run-All” ! 

If you’re looking for even more notebooks to try check out these two resources: 

Questions?

Visit us on our GitHub page or check out the Help section.  

Twitter: @AzureNotebooks

Email: (please file issues on github) nbhelp@microsoft.com

There's a large collection of existing notebooks that you can discover and use on Azure Notebooks.

Here's a list of interesting notebooks that you can save locally & upload:

NOTE: Some notebooks may require prerequisites which you will need to install using !pip install (for Python) or install.packages (for R). Also, some packages may not yet be available in Azure Notebooks.


Azure Notebooks supports signing in with either a Microsoft account (formerly Windows Live ID) or with a "Work or School account".

These are typically @outlook.com/@hotmail.com e-mail account.

Your Microsoft account is the combination of an email address and a password that you use to sign in to services like Outlook.com, OneDrive, Windows Phone, or Xbox LIVE. If you use an email address and password to sign in to these or other services, you already have a Microsoft account—but you can also sign up for a new one at any time. You can use any email address as the user name for your new Microsoft account, including addresses from Outlook.com, Yahoo!, or Gmail.

Other accounts used to login to services such as Office 365.

A Work or School account is an account created by an organization’s administrator to enable a member of the organization to access Microsoft cloud services such as Microsoft Azure, Windows Intune, and Office 365. A Work or School account can take the form of a user’s organizational email address, such as username@orgname.com.

Organizations can require administrator consent for new applications.

If you're an administrator for a organizational account you can consent on behalf of your users. This is necessary if you've restricted your users ability to consent to the permissions required by Azure Notebooks (EMail, OpenID, and User.Read) or if you've disallowed your users to consent to 3rd party applications entirely.

Azure Notebooks requires these permissions to allow users to log-in, collect their email addresses (which we do not disclose), and to collect very basic information such as what tenant the user is connecting from. We use this information to target what features we design and implement based upon where we see our most popular usage.

If you've disallowed consent or limited your users ability to consent to these basic permissions they may experience problems signing in. To alleviate these problems you can either modify the required permissions or perform the administrator consent process for our AAD application. To perform the administrator consent you can login to Azure Notebooks and visit our admin consent page which will walk you through the consent process.

Having trouble signing in?

Organizations can require administrator consent for new applications.

When logging in you may receive an error message such as:

"You can't access this application Azure Notebooks needs permission to access resources in your organization that only an admin can grant. Please ask an admin to grant permission to this app before you can use it."

The error will give you an option to login as an administrator or to return to the application without consent (not logging in):


For more information on how to enable admin consent your admin can visit our admin consent help page or can go to our admin consent page.

Parents can block access to additional applications for child accounts.

When signing in using a child account you may see an error message like this:



This error indicates that your Microsoft account has been restricted by a parent. In order to use Azure Notebooks or other 3rd party applications you will need to ask your parent account to enable access to 3rd party applications. They can follow the link in the error message to enable access.

This service is in early preview and is under active development.

We are making it available to gauge interest and get feedback from users like you. While we endeavor to make this as close to a release-ready experience as we can, there will be bumps along that road, such as...

  • The service may experience temporary outages that may be more frequent or longer lasting than other Microsoft services.
  • Some features may be buggy or incomplete. If you find bugs, please let us know on GitHub.
  • This service isn't suited for business-critical applications yet. You should not upload sensitive notebooks or host sensitive data on the service at this time.

Your profile consists of your user ID and other information you've provided such as your name.

Your user ID is used for linking to your libraries.

Your user ID is displayed in the upper right corner when you're logged in. If you're not logged in you'll instead see a 'Sign In' button. After logging in for the first time you'll be assigned a random user ID (that is in the format "anon-..."). As long as you have the generated user name you'll be prompted to replace it each time you sign in.

Your user ID will be used to generate links to your profile page and your libraries. Links to your content will be structured as:
https://notebooks.azure.com/your-uid: This is the link to your profile page.
https://notebooks.azure.com/your-uid/libraries: This is the link to all of your libraries – it’ll only show public libraries when other users are visiting it
https://notebooks.azure.com/your-uid/libraries/library-id: This is an individual library where you can see the files
https://notebooks.azure.com/your-uid/libraries/library-id/clones: The clones of a specific library
https://notebooks.azure.com/your-uid/libraries/library-id/html/notebook.ipynb: This is the HTML preview of a specific notebook or file.

You can change your user ID at any point in time. But keep in mind that doing so can be disruptive - if you've shared links to your libraries after changing your user ID those links will be broken. You can also change your user ID back to the old ID if you accidently change it as long as no one else has taken it.

User IDs are restricted to consisting of alpha numeric characters and hyphens. They must be at least 4 characters long, cannot start or end with a hyphen, and cannot include multiple hyphens in a row.

The settings menu allows you to edit your profile page at any time.

Configuring your profile allows other users to know some basic information about you.

One of the most important details of your profile is your user ID

The first thing to setup is a user ID. Your user ID is used to access your profile and allows other users to browse the libraries you’ve created. By default you will be assigned a random, anonymous user ID. You’ll want to change that and users can then view your profile at https://notebooks.azure.com/yourId.

In addition to configuring your user ID you can also setup your name, some information about yourself, a publicly visible e-mail address, your web site, twitter, and information about your job.

Profile pages are publicly visible pages which other users can view.

Your profile page will then display all of this information as well as your most recently updated libraries. Your profile page will only show the last 6 libraries but users can click on “View All” to view all of your public libraries.


A Jupyer Notebook "allows you to create and share documents that contain live code, equations, visualizations and explanatory text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, machine learning and much more"

Jupyter supports many different programming languages. On Azure Notebooks we currently support Python 2 and 3, F#, and R.

In addition to using the notebook interface Jupyter provides access to a terminal where you can interact with the running server.

For more in-depth documentation on Jupyter notebooks please consult the Jupyter notebook documentation.

Azure Notebooks supports a few versions of Python along with R and F# in Jupyter Notebooks

The current language versions supported are:

  • Python 2.7 - Anaconda 4.1.0
  • Python 3.5 - Anaconda 4.1.0
  • Python 3.6 - Anaconda 4.3.1
  • R 3.3 - Microsoft R Open 3.3.0
  • F# 4.1.9

In addition to the base distributions we've installed many extra packages which are useful for data scientists. You can also install your own packages using the typical process for each language.

The languages and pre-installed packages are updated periodically.

There are several different options for getting data in and out of your notebook server.

The Data menu provides a convenient way to download files produced inside of your notebook server.

The download dialog allows you to select one or more files or folders within your runing notebook server. If you've created directories you can click on the directory name to navigate through the heirarchy.

To download a single file just click on the file name.
To download multiple files or folders use the check boxes and select Download Selected.

The Data menu provides a convenient way to upload files from external sources.

Select files from your local computer to upload

The Data menu provides a menu which allows you to upload one or more files from your local computer into your running notebook server.

Simply select upload and then choose the files from your browser's file picker dialog:

Select files stored in your Dropbox account to upload

The Data menu inside of a notebook server provides a "Choose from Dropbox" option which allows selecting a file that is stored in your Dropbox account.

Select the menu and the Dropbox chooser will open potentially asking you to sign in to Dropbox you are not already signed in. Then select the files in your account that you'd like to upload.

You can also use commands from within a notebook to get data into your notebook server.

The easiest way to accomplish this is to use curl or wget to download a file from a web site into your notebook server. You can do this using an IPython Magic from within a Python notebook:

!curl https://raw.githubusercontent.com/Microsoft/AzureNotebooks/master/Samples/Azure%20Notebooks%20-%20Welcome.ipynb
  or
!wget https://raw.githubusercontent.com/Microsoft/AzureNotebooks/master/Samples/Azure%20Notebooks%20-%20Welcome.ipynb

In a R or F# notebook where the magics are not supported you can open a terminal window for executing the same commands. To open the terminal window click on the Jupyter window in the upper left hand corner, then click on New, and then Terminal.

You can store data in your library in addition to notebooks

In addition to storing your notebooks in your libraries you can also persist data along side of them. Currently there is no UI support for moving data into your library.

To persist data you'll first need to get the data you want into your running notebook server. You can see how to upload for more information on that. Once the data is in your notebook server you'll find that all of your notebooks are stored in a "library" folder off your home directory.

From here you simply need to copy or move the data into the library folder.

To view a notebook showing different ways to access your data you can view this sample.

Packages in Python can be installed using either pip or conda.

The simplest way to install packages is to do it from within a Jupyter Python notebook. Inside of the notebook your path will be setup to have both pip and conda on it pointing to the proper version of Python. So inside of a notebook you can simply do:

!pip install <pkg name>

   or

!conda install <pkg name> -y


Your packages will only be available for the lifetime of your notebook server. Your notebook server will typically shutdown after 1 hour of inactivity. Therefore an additional benefit of putting package installation into your notebook file is that you can easily re-run the installation when you come back to your library.

You can also install Python packages from the terminal as well.

To do so you'll first need to find the environment that you want to install the packages into. If you do an "ls" in the terminal you'll see the available Python environments in your home directory.

Azure Notebooks uses the Anaconda distribution for the different versions of Python kernels it supports. Currently we have 3 different versions corresponding with Python 2.7, Python 3.5, and Python 3.6. The directories in your home directory identify both the Python and Anaconda version.

You'll find both conda and pip are available in <conda dir>/bin/.

Packages in R can be installed from CRAN or Github.

To install packages from CRAN you can specify the package name:

install.packages("pkg name")


If you'd like to get more up to date packages that might be under development you can also install packages from Github using the devtools library:

options(unzip = 'internal')
library(devtools)
install_github('<user>/<repo>')

Packages in F# can be installed via nuget.org using the Paket dependency manager.

To install packages from NuGet you should first load the Packet package manager:

#load "Paket.fsx"

You can then have Paket install the packages:

Paket.Package
[ "MathNet.Numerics"
"MathNet.Numerics.FSharp"
]

Azure Notebooks is preconfigured to have several Jupyter extensions installed

Altair
A declaritive statistical visualization library for Python

BQPlot
An interactive plotting framework for Jupyter Notebooks.

IpyWidgets
Interactive HTML widgets for Jupyter Notebooks.

JupyterLab
A full computational environment for working with Jupyter notebooks.

RISE
A Jupyter Slideshow Extension (a.k.a live_reveal)

You can configure a startup script for each library

When a notebook server for your library is created for the first time Azure Notebooks will look for a file in your library called "aznbsetup.sh". If this file is present then the script will be executed.

For troubleshooting purposes the output of the script will be stored in your home directory as .aznbsetup.log.

Jupyter provides access to a complete terminal running on the server

To access the terminal first click on the Jupyter icon in the upper left hand corner of your notebook server. Then click on the New button on the upper right hand side of the notebook list. Finally click Terminal.

Note: Users sometimes desire to use Pip and Python within the terminal, or within environment setup steps. This often will not work as desired, as the Terminal can't know what version of python the user desires, and by default references the system python.

  • (This is necessary for system functionality, but often not what a user wants, manifesting as a PermissionError)

If you desire to use pip and python as if you are in a notebook, we now provide aliases for your convenience. Simply chose the appropriate version for your needs.
  • Python 2.7: python27 / python27 -m pip
  • Python 3.5: python35 / python35 -m pip
  • Python 3.6: python36 / python36 -m pip

Azure Notebooks includes a notebook extension which allows you to use it for presentations.

You may wish to check out the "Slide" mode of Jupyter which is designed for presentations.  It lets you turn cells into slides suitable for talks while still enabling code execution.  To enable Slide (or Reveal) mode:

  • In your notebook click View/Cell Toolbar/Slide Show
  • For each cell select its type and hierarchy on the right hand side
  • To start the presentation, click the "graph" icon on the main toolbar.  Use left/right/up/down to navigate slides.

Your notebook server will automatically be shutdown after a period of inactivity.

  • When you are in a notebook server, your session is active as long as you are interacting with it - the timeout is set to 60 minutes.
  • If you are inactive for more than 60 minutes, your notebook server will be reclaimed and recycled.  However, your notebooks themselves are safe - you just have to log back in to see them.
  • If your notebook is not connected to a notebook server, do not edit the notebook as there is no way to save your changes.  You should log back in, click on your notebook again and continue.
  • You may also occasionally see "Connection failed" messages if there has been an internet connection issue. 
  • The "Kernel" menu has several options for interrupting or reconnecting to a stuck kernel

We hope things will go pretty smoothly, but if you run into issues this might help.

The .nb.log file stores the output from Jupyter

Typically when you're running Jupyter locally you may have started it from a terminal window. The terminal window will have output such as kernels being started, restarted, and other random information.

On Azure Notebooks we've redirected this output into a file in your home directory called .nb.log. From within a Python notebook you can enter into a cell:
!cat .nb.log

Other languages such as R and F# don't support the magic cells. In these cases you can first click on the Jupyter logo in the upper left hand corner. This will take you to the Jupyter tree view. You can then click New->Terminal. From here you can enter:
cat .nb.log


Azure Notebooks organizes your Jupyter notebooks into logical groups called “Libraries”. You can share notebooks by giving users a link to a library. Libraries can include both notebooks as well as other files. For each library that you create you are able to get a Jupyter notebook server which contains the contents of that specific library.

The libraries dashboard page gives you a centralized management of all of your libraries. It lets you view all of your libraries, create, share, download, and delete libraries, quickly jump into Jupyter for a library. You can share the link to your library dashboard and other users will be able to see your public libraries as well.

The libraries page has one operation which you can always do if you’re signed in and looking at your library page – create a new library.

There are also many operations that you can perform on the libraries themselves. Typically you may want to look at the contents of a library which you can simply do by clicking on the description. If you’d like to edit the library you can first click on the row and then use the buttons above. You can also right click on the rows to perform the same operation.

When users visit your library they can either view an HTML preview of your notebooks or clone your library and run the notebooks themselves. Once they’ve cloned the library they’re free to make changes to their copy.

The library dashboard supports keyboard navigation for selecting files and performing commands.

You can navigate the list of libraries by pressing Alt-Up or Alt-Down. You can then use shortcuts for performing operations on the libraries:

  • N – Create a new library
  • S – Share a library
  • C – Clone a library
  • R – Run a library
  • E – edit a library
  • T – Open Terminal
  • H – Shutdown the notebook server
  • D – Download the library
  • X – Delete the library

Various library settings such as title, and environmental operations such as post-startup steps, can be modified here.

Each library has a friendly name, an ID which is used for linking to the library, and a description.

You can update the library metadata by clicking on the "Settings" button:


After doing so you'll see the Settings dialog. The Information tab will allow you to update various information about the library.


Library Name: The library name will be displayed in the header for a library.
Library Description: The description is a longer description which explains what the library is about, getting started instructions, etc...
Library ID: The library ID is used for providing the link to the library. Your libraries can be linked directly by referring to https://notebooks.azure.com/userId/libraries/libraryId. The library ID must be unique from your other library IDs and can only consist of alpha numeric characters and hyphens.
Public library: If this box is checked the library will be viewable by other users.
Hide clones: When checked other users can't see a list of clones which have been made for this library. This is useful for example if you're using Azure Notebooks for teaching a class or a contest.

Each library can have its own set of tasks to run on startup.

You can update these steps by clicking on the "Settings" button:


After doing so, select the "Environment" tab. This will let you add, remove, and alter setup steps for a library.


Operation: The type of setup step to run. E.g. running a shell script, installing via a requirements.txt file.
Target File: The target file within the library that the setup step is running against. E.G If one expects to do pip install -r test.txt, test.txt would be the target.
Additional Options: Any dropdowns past Target File are operation-specific options. For Pip this is the python version to use. Not all oerations have extra options.

You can create new libraries at any time and have many different libraries that you're actively using.

The simplest way to create a library is to create a new blank library.

To create a new blank library simply click on the "New Library" button in the libraries dashboard:


Doing so will then invoke the new library dialog where you can fill in various details:


The only two required fields are the Library Name and Library ID.

Library Name: The library name will be displayed in the header for a library.
Library Description: The description is a longer description which explains what the library is about, getting started instructions, etc...
Library ID: The library ID is used for providing the link to the library. Your libraries can be linked directly by referring to https://notebooks.azure.com/userId/libraries/libraryId. The library ID must be unique from your other library IDs and can only consist of alpha numeric characters and hyphens.
Public library: If this box is checked the library will be viewable by other users.

Note: For debugging and logging purposes, output and errors from setup steps can be found in ~/.nb.setup.log

You can easily import an entire public GitHub repo as a library including any data or README.md files.

First, click on the "New Library" button for the libraries dashboard page:


You can then select the "From Github" tab which will allow you to fill in the new library details:



GitHub repository: The name of the GitHub repository, for example "Microsoft/AzureNotebooks"
Library Name: A friendly name for the library such as "Sample Notebooks". This can be changed at any time without consequences.
Library ID: The library ID is used for providing the link to the library. Your libraries can be linked directly by referring to https://notebooks.azure.com/userId/libraries/libraryId. The library ID must be unique from your other library IDs and can only consist of alpha numeric characters and hyphens.

If your repo includes a README.md, README.html, or README.txt then it will be displayed as the description for the library.

The GitHub repo will be cloned into your library including all of the notebooks and other files. The Git history will also be preserved. You can then use standard Git commands from the Terminal window to commit changes, pull changes from GitHub, etc...

Cloning creates a copy of an existing library. Typically you will create a copy of someone else’s library to run and edit the library. But you can also make multiple copies of your own libraries to branch off and do work and other experiments while preserving the original state of the base library.

To create a clone select the library from the library dashboard view and click Clone or select Clone on the individual library page:


You'll then be presented wit the Create Clone dialog window:


The library name and ID will by default just be a copy of the existing name and ID. If you’ve previously cloned the library, or have a library with the same ID already, then the library ID will automatically have a number appended to it to keep the IDs unique.

If you’ve already created a clone of a library you’ll be notified here and you can quickly jump to that existing clone if you didn’t intend to make multiple copies.

Like when creating a new library you can also choose whether or not you want your clone to be publicly visible.

Once you click Clone you’ll be taken to your copy of the library where you can make changes or start your notebook server.

Azure Notebooks makes it easy to share libraries with others so that they can view it, clone it, and run it.

Azure Notebooks provides multiple ways to share your content with other users.

To share you can either select the library from the libraries dashboard and click “Share” or you can click on "Share" from the individual library page.


After doing so you'll see the Share tab which provides several different ways on how to share a library:


The sharing page provides several different ways to share your library. The simplest is to get a link to your library. You can then send this link to anyone you’d like and they’ll be able to view your library.

For your convenience we also include the ability to share a library via social media. Here you can simply click on the links to share via Twitter, Facebook, or Google Plus+:


Frequently developers and data scientists will store their notebooks on Github or sometimes have their own web site where they’d like to link to their notebooks in a runnable form on Azure Notebooks. For this scenario the “embed” tab provides both HTML and Markdown which can be used to embed a link directly into a README.md or into a web page. The embedded link will have the “launch azurenb” badge that you see on the tab:


Finally if you’d simply like to email the library to a friend or colleague you can use the email tab:

You can enter one or more e-mail addresses and fill in a custom description. When you click on the Share button your e-mail client will pop up with the email pre-populated with a link to your library.

Azure Notebooks provides a GitHub badge that you can add to a README on a repository to make it easy to run your repository.

There are two ways to make a GitHub badge. If your library already exists on Azure Notebooks, we provide a prebuilt link for you in the sharing dialogue. If you do not have an Azure Notebooks library, you can create a link that will clone from GitHub directly.

From an Existing Library:

If you have an existing library, we provide a prebuilt link in the sharing dialog. Please view the help article on sharing your library

From a GitHub Repository:

To create a GitHub badge, you can use the templates below. You will need to fill in the correct user and repository name.

HTML (Copy to clipboard)
<a href="https://notebooks.azure.com/import/gh/<user-name>/<repository-name>"><img src="https://notebooks.azure.com/launch.png" /></a>
Markdown (Copy to clipboard)
[![Azure Notebooks](https://notebooks.azure.com/launch.png)](https://notebooks.azure.com/import/gh/<user-name>/<repository-name>)

The terminal gives you a shell where you can interact with files and notebooks in your library

The terminal window can be easily opened from the library dashboard or from within a library view. It can also be opened from within Jupyter by clicking on the Jupyter logo and then selecting New->Terminal.

To open the terminal button from the libraries dashboard simply click on the Terminal button:


The terminal allows you to execute arbitrary commands inside of your notebook server. This can be useful for downloading data, copying files, inspecting processes, or editing files with traditional Unix tools such as vi and nano.

Within an individual library you can perform basic edits and run it.

The library view works similarly to the libraries dashboard page. It includes a set of buttons which allow you to perform actions to both the library or files within the library. You can also filter the list of files being displayed based.

You can add blank notebooks, notebooks on your computer, or notebooks from the internet.

To add new notebooks to a library first click on the +New button from inside of the library view:


You'll then get a dialog which will allow you to select where you want to add notebooks from.

The simplest way to add notebooks is to add new blank notebooks. You can select the language of the notebook that you'd like and give it a filename. If you don't append the .ipynb extension it will automatically be added for you.


If you have existing notebooks that you'd like to use on Azure Notebooks you can upload them from your local computer. Simply click on Choose files and your browser's file picker will be opened. You can select one or more notebooks. If you'd like to use a different filename you can modify the filenames after selecting them. Once you press the Upload button the notebooks will be uploaded into your library.


If someone has posted a notebook on the internet that you'd like to run on Azure Notebooks you simply give the URL to the wrong .ipynb file. You can also optionally specify the filename that the notebook should be stored as.

Deleting a file permanently removes it from the library

To delete a file from a library select the file in the library view and then click the delete button:


Before deleting the file you'll be prompted to confirm that you want to delete it. Check the filename and confirm the delete. The file will be permanent removed and the delete cannot be undone.

Any user can view an HTML preview of your notebook in public libraries without signing in

When you share a link to your library users visiting it will see the list of notebooks. They can select a notebook and use the Preview button to see the notebook as it was the last time you ran it.


This will then take the user to the HTML preview version of the notebook. The user can scroll through and view the notebook but cannot execute the cells.


If they like the notebook they can then easily clone the library from the preview page. If the user is not signed in already they will be prompted to sign in. They can also simply download the notebook or share it with other users as well.

The HTML preview page supports keyboard shortcuts for interacting with the toolbar.

  • S – Share the library
  • C – Clone the library
  • D – Download the notebook
  • R – Run the library and open the selected file
  • L – List the clones of this library

You can view the list of clones for a library unless the owner has disabled it

To view the clones of a library click on the Clones button within the library view. If the button is not visible then the clones list has been disabled or the library has no clones:


For more information on the clones view see clones help.

The library view supports keyboard navigation for selecting files and performing commands.

You can also navigate the list of files by pressing Alt-Up or Alt-Down. You can then use shortcuts for performing operations on the libraries:

  • N – Add a new file
  • E – Edit the library information
  • S – Share the library
  • C – Clone the library
  • R – Run the library and open the selected file
  • L – List the clones of this library
  • P – View the HTML preview of a notebook without running it
  • I – Edit the selected file in a text editor
  • T – Open Terminal
  • H – Shutdown the notebook server
  • D – Download the selected file
  • X – Delete the selected file

Users clone libraries to run the notebooks and make changes

Azure Notebooks uses the concept of clones to allow other users to run your notebooks.

When a user visits your library page they can browse the library and view previews of the notebooks that you've created. But in order for the user to run the notebooks they'll first need their own copy as running notebooks will result in modifications to the underlying notebooks.

Cloning will make a copy of your library in its current form. If you continue to make changes to your library users will not automatically get the new changes. But they can click the diff button on their library page to see the differences:

The clones list lets you view other clones of a library and compare, share, and download them.

One of the most useful aspects of the clones list is that it allows you to compare the differences between a library and a clone.

You can also use it to make a clone of a clone, share a clone, or download copies of the clones.

In the Clones list you can compare a clone to its parent

First select the clone that you're interested in comparing with its parent. Then click the Compare Clone button. You can also right click on the library and choose Compare Clone from the context menu.


For more information on comparing libraries see Comparing in Libraries.

The clones list supports keyboard navigation for selecting clones and performing commands.

You can navigate the list of clones by pressing Alt-Up and Alt-Down. You can use shortcuts for performing operations on the cloned libraries:

  • C – Compare the library
  • L – Clone the clone
  • S – Share the cloned
  • D – Download the clone

Comparing two libraries will allow you to see the differences between the notebooks inline

Libraries can currently easily be compared to either their parent or their children. To compare a library to its parent navigate to the library that you want to compare to and find the compare button () next to the library title. Clicking on this button will then take you to the comparison UI. Alternately when viewing the list of clones for a library you can select one and click the "Compare Clone" button.

The comparison UI will list all of the files that are in both libraries. Files will be displayed as either existing in the Left, Right, or Both libraries. In the image below you'll see two files which only exist in one of the libraries. By default files that don't exist in both will be collapsed but you can click on the filename to expand them and view them.

Files that exist in both notebooks will be displayed with "Both" next to their filename. You will then see the inline diff of the files below. Cells that have not been modified will be collapsed and you can click on the "..." to expand them. In the image below you can see that the input text as well as the cell execution order has changed.

The difference view will also display changes that happen within a cell in a nice inline format and highlight the individual part of the text which has been changed:

If your library includes image outputs the images will get highlighted in red and green to indicate which ones were added and deleted.

Deleting a library will remove the library and all of the associated files

There is restore a library after it has been deleted.

If you have a running notebook server it will be shutdown and will no longer be accessible. Any clones of the library will continue to exist, but they will no longer have a reference to the library they were cloned from.

You can manually shutdown a notebook server

Typically you won't need to shutdown a notebook server, we'll automatically shut it down after you've been inactive for 1 hour. If you'd like to help us conserve resources for other users though you can use the Shutdown button to manually shutdown your server.

This can also be useful if you'd like to get the whole notebook server back into a known state. Simply shut it down and then re-open it and you'll get a new notebook server instance.

In the instance of very heavy container load from a given user, we will present a captcha to ensure rate-limiting and non-malicious behavior.

  • Please complete the captcha to continue. You may need to wait a moment for the page to refresh.
  • If the notebook is still not connected despite successful captcha, you may need to refresh.
  • If you are seeing captchas in the absence of heavy use or believe the throttling to be in error, we may be reached via nbhelp@microsoft.com.

Please report any issues on Github

Please provide us with the following information, if applicable:

  • A description of the issue - be detailed
  • A screenshot if possible
  • The steps you took which we can use to try and reproduce the issue