ArcGIS Notebooks is now available as a public beta in ArcGIS Online. With ArcGIS Notebooks every ArcGIS Online organization has the ability to create hosted Python notebooks using a built-in Jupyter notebook environment, enabling spatial data science and automation of Web GIS administration. For those new to the world of Python Notebooks, Jupyter is the most popular and most widely used of the open source Python notebooks. According to its creators, the name Jupyter was inspired by 3 things:
- The planet Jupiter – to evoke the traditions and ideas of science
- A combination of three core programming languages: Julia, Python, and R supported by Jupyter
- Galileo’s publications on the discovery of the moons of Jupiter. In his publications Galileo in included the data that supported his research – this speaks to reproducibility of research which is one of the main focuses of the entire Jupyter project.
Interesting trivia aside, this means that you can now write code in ArcGIS Online using Jupyter notebooks.
The ArcGIS Notebook interface has been optimized for working within web GIS and familiar functionality such as browsing data and analysis tools is all available. Through the interface you can automatically insert spatial data as a Python snippet, whether it lives in My Content, My Organization, the Living Atlas, or the broader ArcGIS Online ecosystem. Built-in analysis tools work the same way, you simply find the tool you need and add it to the notebook and the code snippet will automatically appear (you do need to fill out parameters in the code snippet for the analysis to run).
Out-of-the-box, ArcGIS notebooks gives you access to the ArcGIS Python libraries: the ArcGIS API for Python and arcpy, as well as open source Python. While we are still in beta not all resources are available in the ArcGIS Online help documentation, so to get a look at which open source Python libraries are available within ArcGIS Notebooks you can look at the manifest from ArcGIS Notebook Server as the libraries are identical. Also, if you are working in an ArcGIS Notebook you can open the Info panel and get quick access to the manifest.
There is nothing extra to buy nor an app to assign to start using ArcGIS Notebooks – it’s just there. However, you do need the right privileges before you can hit the ground running.
Who can create notebooks?
If you are an administrator of an ArcGIS Online organization, you will notice a new Notebook option in the top ribbon navigation of ArcGIS Online.
If, as an administrator, the idea of members of your organization suddenly creating Python notebooks sends waves of worry down your spine – don’t panic. The flood gates are not open. For non-administrators to create notebooks they will need to be granted a new set of privileges as part of a custom role.
There are two privileges associated with ArcGIS Notebooks, a basic privilege for “Create and Edit Notebooks” and an advanced privilege that allows you to use arcpy or GPU enabled notebooks called “Advanced Notebooks”.
To assign these privileges to a user you will need to create a custom role (Navigate to Settings > Member Roles > Create Role), then assign the users that you wish to have notebook privileges a custom role that has one or both of the notebook privileges
Once out of the beta phase, running Advanced Notebooks will consume credits, so keep this in mind as you are assigning users to a role that includes the “Advanced Notebooks” privilege.
During the public beta, creating, editing, and running notebooks of any type will not consume credits. That said, activities that normally consume credits such as running analysis using a built-in tool or accessing premium content from the Living Atlas still consume credits – just as they would if you were driving access and analysis from the Map Viewer.
Within ArcGIS Notebooks in ArcGIS Online there are three options for creating notebooks: Standard, Advanced, and Advanced with GPU support. These options differ in what Python libraries are included and the underlying compute resources that are provided.
Standard includes open source Python libraries and the ArcGIS API for Python. It includes a smaller amount of CPU and memory than the other two options. It is ideal for web GIS administration automation and any analysis that uses the built-in tools of ArcGIS Online. After the beta using Standard notebooks (which are enabled by granting users the “Create and edit notebooks” privilege) will not cost any additional credits to create or run, as everything included in the notebook is either open source or already built-in to ArcGIS Online.
Advanced notebooks include everything that is in Standard and also includes arcpy. Advanced notebooks provide a moderate amount of CPU and memory and are a good choice for almost any workflow. After the beta period Advanced notebooks will consume credits, as they provide unlimited access to geoprocessing capabilities of arcpy.
The third option is Advanced Notebooks with GPU Support, these notebooks include the same Python libraries as “regular” Advanced notebooks. The only difference is that this option provides dedicated GPU infrastructure under the hood allowing you to do computationally intensive workflows such as machine learning. Due to both the access to arcpy and GPU resources, these notebooks will also consume credits after the beta period.
Keep in mind that you can control credit consumption by restricting who has been granted the “Advanced Notebooks” privilege and through the per-user credit budgeting system that already exists within ArcGIS Online.
We expect the public beta period to span from March 2020 through Summer 2020.
This is a beta and we want your feedback! To ask questions or share ideas please use our GeoNet community. Members of the development, engineering, and product teams will be actively watching the space, ready to answer questions and respond to feedback.