Esri’s ArcGIS API for Python was announced in summer 2016 and was officially released at the end of the same year. The goal of the API as stated in this ArcGIS blog accompanying the initial release is to provide a pythonic GIS API that is powerful, modern, and easy to use. Pythonic here means that it complies with Python best practices regarding design and implementation and is embedded into the Python ecosystem leveraging standard classes and packages (pandas and numpy, for instance). Furthermore, the API is supposed to be “not tied to specific ArcGIS jargon and implementation patterns” (Singh, 2016) and has been developed specifically to work well with Jupyter Notebook. Most of the examples from the API’s website actually come in the form of Jupyter notebooks.
The current version (at the time of this writing) is version 2.1.0.3 published in March 2023. The API consists of several modules for:
- managing a GIS hosted on ArcGIS Online or ArcGIS Enterprise/Portal (module arcgis.gis)
- administering environment settings (module arcgis.env)
- working with features and feature layers (module arcgis.features)
- working with raster data (module arcgis.raster)
- performing network analyses (module arcgis.network)
- distributed analysis of large datasets (module arcgis.Geoanalytics)
- performing geocoding tasks (module arcgis.geocoding)
- answering questions about locations (module arcgis.geoenrichment)
- manipulating geometries (module arcgis.geometry)
- creating and sharing geoprocessing tools (module arcgis.geoprocessing)
- creating map presentations and visualizing data (module arcgis.mapping)
- processing real-time data feeds and streams (module arcgis.realtime)
- working with simplified representations of networks called schematics (module arcgis.schematics)
- embedding maps and visualizations as widgets, for instance within a Jupyter Notebook (module arcgis.widgets)
You will see some of these modules in action in the examples provided in the rest of this section.
Singh, R. (2016). ArcGIS Python API 1.0 Released. ArcGIS Blog. retrieved March 23, 2018 from https://blogs.esri.com/esri/arcgis/2016/12/19/arcgis-python-api-1-0-released/