ArcGIS Notebooks

ArcGIS Notebooks are Python notebooks based on the Jupyter Notebook framework, which are available in ArcGIS Pro, ArcGIS Online and ArcGIS Enterprise through Notebook Server. Notebooks allow users to develop Python code, interactively work with cells and blocks of code, and then schedule the notebooks to run at a regular interval or configure it to run based on a webhook or REST request. Notebook Python environments include a variety of standard libraries and also can access the ArcGIS API for Python and the arcpy module for running geoprocessing tasks and interacting with ArcGIS system components.

Notebooks provide a compelling option for integration between business systems for several reasons:

  • The Python community includes a rich set of development patterns, modules and existing functionality for working with data sources, ranging from files and databases to web services, WebSockets or custom TCP protocols. These modules can be installed with pip or conda commands in a notebook and used at runtime, or imported from a custom directory in Notebook Server.

  • Notebooks are context-aware and when running interactively, can connect to services as the current user or as the notebook’s owner when running on a schedule, which allows notebook code to securely and reliably interact with private content, services, data and features within ArcGIS.

  • Notebooks can be run both interactively where a user is clicking through or running cells and on a scheduled basis where all cells are run sequentially at a specified time, equivalent to a scheduled Python script. Interactive notebooks using the Advanced Runtime consume credits in ArcGIS Online, and all scheduled notebooks in ArcGIS Online consume credits based on the duration of the scheduled task.

Integration patterns in ArcGIS

In ArcGIS Online, notebooks can be created by members with appropriate privileges. ArcGIS Enterprise members can create notebooks when their organization is federated with a Notebook Server. ArcGIS Pro users can create local notebooks.

Capability ArcGIS Online ArcGIS Enterprise ArcGIS Location Platform ArcGIS Pro
ArcGIS Notebooks N/A

Full support

Partial support


Best practices

  • Notebooks that will be run on a schedule or based on an invocation through REST should generally be designed to run in one continuous session, where all cells are run sequentially, without any user input or pauses in operation. This allows tasks to run completely and increases the success rate of a scheduled task.

  • Observability of scheduled Python notebooks is based on a record of recent task executions, which will show the resulting state and output of the notebook for each run.

  • Notebooks in ArcGIS Online run in a containerized execution environment, where network access is constrained to prevent security risks. This means that some patterns, such as HTTP requests to non-standard ports or use of protocols such as SMTP or proprietary port combinations, are not possible with ArcGIS Online hosted notebooks.

  • It is worth noting that, while you can access online resources and items stored in your ArcGIS Enterprise or ArcGIS Online organization, you cannot directly access resources or local files on the machine you’re using. This is due to the containerized nature of ArcGIS Notebooks.

Top