The latest release of Pro integrates Jupyter Notebooks. This blog post describes the benefits of integrating them in Pro projects and workflows.
The 2.5 release of Pro comes with the Juypter Notebooks application installed. What’s more, Jupyter Notebooks have been integrated with Pro, which this means that Jupyter Notebook files are now an integral part of Pro. This has several benefits for Pro users:
Pro users can create, edit and save Notebooks directly from Pro
Pro now has a button on the ribbon interface that lets you create a new Notebook. Similarly, they can be opened inside Pro by clicking on a Notebook file in Catalog. Users can also import existing Notebooks into Pro using the Catalog pane or edit them directly in Pro after opening them. This opens a Notebook view window that is dockable so that it’s easy to work with multiple windows at the same time.
Pro users no longer need a standalone application for creating and managing Notebooks
Before the 2.5 release of Pro, Jupyter Notebooks could only be used in a separate application, such as Anaconda or JupyterLab. Now, Pro is the standard working environment for managing Notebooks so you no longer have to install and work with a second application when dealing with Jupyter Notebooks. This saves the user time and effort from moving back and forth different applications.
Notebooks are now related with projects
This means that when creating or opening an existing project, you can create, edit and save Jupyter Notebooks directly inside a project. Before Pro integration, Notebooks would be stored in one file folder, which is not a good practice of organizing project files. Pro now lets you manage the location of your Notebooks directly from Pro, so that you can store it together with project data and maps.
Notebooks integrate Python libraries directly with Pro projects
Although the Notebooks are called ArcGIS Notebooks, their look and feel is equal to that of standard Jupyter Notebooks. Behind the Notebook application is a Python libraries manager that you can use for data exploration or analysis, such as pandas or matplotlib. These are now directly available in Pro.
In Pro, Python package management happens through a conda package manager that is directly accessible from Pro by clicking the Project tab and “Python” next. Here, users can create, edit or remove environments. This makes it possible to create an environment for a project and install required Python packages for that specific project only.
ArcGIS Notebooks integrate ArcGIS API for Python functionality
In addition to open source Python libraries, ArcGIS Notebooks integrates with ArcGIS API for Python package, which means that plenty of additional GIS capabilities are added to Pro’s existing capabilities.
Notebooks are better suited for creating and editing ArcPy scripts than the Python window
Although ArcPy was already available directly in Pro through the Python window, its usability as a code editor was fairly limited (such as writing and editing multiple lines of code). In this regard, the Juypter Notebook integration, which offers ArcPy access, can be considered a big step forward. For example, Jupyter Notebooks allow for annotating code cells using HTML and running scripts directly in Pro and add the results from a data set to a map window. This was not possible when running ArcPy scripts through a separate code editor, as you could not run both ArcPy scripts independent from Pro while running the Pro application at the same time (as it would lock your data set).
While Jupyter Notebook is a code annotation tool first and a code editor second, it’s a great collaboration tool for organizations. For example, Notebooks can be used to annotate data sets that show what certain data means or how it can be interpreted. In the context of Pro, the coding and annotation tools of Jupyter Notebooks can be used for working with editing or analyzing attribute data, as an intermediary step before creating thematic maps.