# esri/arcgis-pro-sdk architecture

> Architecture diagram of the GitHub repository esri/arcgis-pro-sdk, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/esri/arcgis-pro-sdk
- Repository: https://github.com/esri/arcgis-pro-sdk

## Overview

This repository distributes the ArcGIS Pro 3.7 SDK for .NET: API reference XML and DAML definitions, rather than an application runtime. The documented developer workflow is to use the SDK to build an add-in, managed configuration, plugin datasource, or CoreHost application that extends ArcGIS Pro. The graph also preserves major API domains visible in the tree and README. No source excerpts were provided, so relationships are limited to those documented in the README; the XML reference contents were not inspected.

Main entry points: [`README.md`](https://github.com/esri/arcgis-pro-sdk/blob/master/README.md) (Pro SDK), [`DAML`](https://github.com/esri/arcgis-pro-sdk/tree/master/DAML) (Add-ins), [`References/ArcGIS Pro API/ArcGIS.Desktop.Core.XML`](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Core.XML) (Plugin datasources), [`References/ArcGIS Pro API/ArcGIS.CoreHost.XML`](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.CoreHost.XML) (CoreHost apps)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_extensibility["Extensibility patterns"]
  node_addin["Add-ins"]
  node_configuration["Managed configurations"]
  node_plugin["Plugin datasources"]
  node_corehost["CoreHost apps"]
end

subgraph group_framework["Framework and UI"]
  node_frameworkapi["Framework API"]
  node_mapping["Mapping and layouts"]
  node_layout["Layout API"]
end

subgraph group_data["Data and processing"]
  node_geodb["Geodatabase API"]
  node_geoprocessing["Geoprocessing API"]
  node_editing["Editing API<br/>[Editing.daml.xml]"]
end

subgraph group_specialized["Specialized domains"]
  node_reviewer["Data Reviewer"]
  node_knowledgegraph["Knowledge Graph"]
  node_network["Network analysis"]
  node_workflow["Workflow client"]
  node_taskassistant["Task Assistant"]
end

node_developer(("SDK developer"))
node_sdk["Pro SDK<br/>[README.md]"]
node_arcgispro["ArcGIS Pro"]

node_developer -->|"uses to extend"| node_sdk
node_sdk -->|"supports pattern"| node_addin
node_sdk -->|"supports pattern"| node_configuration
node_sdk -->|"supports pattern"| node_plugin
node_sdk -->|"supports pattern"| node_corehost
node_sdk -->|"provides API"| node_frameworkapi
node_sdk -->|"provides API"| node_mapping
node_sdk -->|"provides API"| node_layout
node_sdk -->|"provides API"| node_geodb
node_sdk -->|"provides API"| node_geoprocessing
node_sdk -->|"provides API"| node_editing
node_sdk -->|"includes capability"| node_reviewer
node_sdk -->|"includes capability"| node_knowledgegraph
node_sdk -->|"includes capability"| node_network
node_sdk -->|"includes capability"| node_workflow
node_sdk -->|"includes capability"| node_taskassistant
node_addin -->|"extends"| node_arcgispro
node_configuration -->|"customizes"| node_arcgispro

click node_sdk "https://github.com/esri/arcgis-pro-sdk/blob/master/README.md"
click node_addin "https://github.com/esri/arcgis-pro-sdk/tree/master/DAML"
click node_configuration "https://github.com/esri/arcgis-pro-sdk/tree/master/DAML"
click node_plugin "https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Core.XML"
click node_corehost "https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.CoreHost.XML"
click node_frameworkapi "https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Framework.XML"
click node_mapping "https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Mapping.XML"
click node_layout "https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Layouts.XML"
click node_geodb "https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/ADGeoDatabase.daml.xml"
click node_geoprocessing "https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.GeoProcessing.XML"
click node_editing "https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/Editing.daml.xml"
click node_reviewer "https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/DataReviewer.daml.xml"
click node_knowledgegraph "https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/ADKnowledgeGraph.daml.xml"
click node_network "https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/NetworkAnalysisUtilityNetwork.daml.xml"
click node_workflow "https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/ADWorkflowClient.daml.xml"
click node_taskassistant "https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/TaskAssistant.daml.xml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_addin,node_configuration,node_plugin,node_corehost toneBlue
class node_frameworkapi,node_mapping,node_layout toneAmber
class node_geodb,node_geoprocessing,node_editing toneMint
class node_reviewer,node_knowledgegraph,node_network,node_workflow,node_taskassistant toneRose
class node_developer,node_arcgispro toneIndigo
class node_sdk toneTeal
```

## Components

### Extensibility patterns

- [Add-ins](https://github.com/esri/arcgis-pro-sdk/tree/master/DAML): `DAML`
- [Managed configurations](https://github.com/esri/arcgis-pro-sdk/tree/master/DAML): `DAML`
- [Plugin datasources](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Core.XML): `References/ArcGIS Pro API/ArcGIS.Desktop.Core.XML`
- [CoreHost apps](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.CoreHost.XML): `References/ArcGIS Pro API/ArcGIS.CoreHost.XML`

### Framework and UI

- [Framework API](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Framework.XML): `References/ArcGIS Pro API/ArcGIS.Desktop.Framework.XML`
- [Mapping and layouts](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Mapping.XML): `References/ArcGIS Pro API/ArcGIS.Desktop.Mapping.XML`
- [Layout API](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.Layouts.XML): `References/ArcGIS Pro API/ArcGIS.Desktop.Layouts.XML`

### Data and processing

- [Geodatabase API](https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/ADGeoDatabase.daml.xml): `DAML/ADGeoDatabase.daml.xml`
- [Geoprocessing API](https://github.com/esri/arcgis-pro-sdk/blob/master/References/ArcGIS%20Pro%20API/ArcGIS.Desktop.GeoProcessing.XML): `References/ArcGIS Pro API/ArcGIS.Desktop.GeoProcessing.XML`
- [Editing API](https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/Editing.daml.xml): `DAML/Editing.daml.xml`

### Specialized domains

- [Data Reviewer](https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/DataReviewer.daml.xml): `DAML/DataReviewer.daml.xml`
- [Knowledge Graph](https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/ADKnowledgeGraph.daml.xml): `DAML/ADKnowledgeGraph.daml.xml`
- [Network analysis](https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/NetworkAnalysisUtilityNetwork.daml.xml): `DAML/NetworkAnalysisUtilityNetwork.daml.xml`
- [Workflow client](https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/ADWorkflowClient.daml.xml): `DAML/ADWorkflowClient.daml.xml`
- [Task Assistant](https://github.com/esri/arcgis-pro-sdk/blob/master/DAML/TaskAssistant.daml.xml): `DAML/TaskAssistant.daml.xml`

### Other components

- **SDK developer**
- [Pro SDK](https://github.com/esri/arcgis-pro-sdk/blob/master/README.md): `README.md`
- **ArcGIS Pro**

## Connections

- SDK developer → Pro SDK: uses to extend (evidence: `README.md`)
- Pro SDK → Add-ins: supports pattern (evidence: `README.md`)
- Pro SDK → Managed configurations: supports pattern (evidence: `README.md`)
- Pro SDK → Plugin datasources: supports pattern (evidence: `README.md`)
- Pro SDK → CoreHost apps: supports pattern (evidence: `README.md`)
- Pro SDK → Framework API: provides API (evidence: `README.md`)
- Pro SDK → Mapping and layouts: provides API (evidence: `README.md`)
- Pro SDK → Layout API: provides API (evidence: `README.md`)
- Pro SDK → Geodatabase API: provides API (evidence: `README.md`)
- Pro SDK → Geoprocessing API: provides API (evidence: `README.md`)
- Pro SDK → Editing API: provides API (evidence: `README.md`)
- Pro SDK → Data Reviewer: includes capability (evidence: `README.md`)
- Pro SDK → Knowledge Graph: includes capability (evidence: `README.md`)
- Pro SDK → Network analysis: includes capability (evidence: `README.md`)
- Pro SDK → Workflow client: includes capability (evidence: `README.md`)
- Pro SDK → Task Assistant: includes capability (evidence: `README.md`)
- Add-ins → ArcGIS Pro: extends (evidence: `README.md`)
- Managed configurations → ArcGIS Pro: customizes (evidence: `README.md`)
