Skip to main content

CLI tool for inspecting ArcGIS Pro session exports

Project description

ArcGIS Pro CLI

Make ArcGIS Pro sessions observable for AI agents and automation tools.

Two Components, Clear Roles

Component Role What it does
ProExporter Add-in Context exfiltration Exports session state from ArcGIS Pro to disk
arcgispro CLI Query interface Reads exported data and answers questions

The add-in exports. The CLI queries. Simple.

Quick Start

pip install arcgispro-cli
arcgispro install

That's it! The install command launches the add-in installer. Click "Install Add-In" and restart ArcGIS Pro.

How It Works

  1. Open a project in ArcGIS Pro
  2. Click Snapshot in the CLI ribbon tab → exports context to .arcgispro/
  3. Query the exported context:
    cd /path/to/your/project
    arcgispro layers              # What layers do I have?
    arcgispro layer "Parcels"     # Tell me about this layer
    arcgispro fields "Parcels"    # What fields are in it?
    

CLI Commands

Setup Commands

Command Description
arcgispro install Install the ProExporter add-in
arcgispro uninstall Show uninstall instructions
arcgispro status Show export status and validate files
arcgispro clean Remove generated files
arcgispro open Open folder or select project

Query Commands

Command Description
arcgispro project Show project info
arcgispro maps List all maps
arcgispro map [name] Show map details (default: active map)
arcgispro layers List all layers
arcgispro layers --broken List broken layers
arcgispro layer <name> Show layer details + field schema
arcgispro fields <name> Show just the field schema
arcgispro tables List standalone tables
arcgispro connections List data connections
arcgispro context Print full markdown summary

All query commands support --json for machine-readable output.

Requirements

  • Windows 10/11
  • ArcGIS Pro 3.x
  • Python 3.9+

Development

To build the add-in from source, you'll need:

  • Visual Studio 2022 with ArcGIS Pro SDK extension
  • .NET 8 SDK
# Clone and install CLI in dev mode
git clone https://github.com/danmaps/arcgispro_cli.git
cd arcgispro_cli/cli
pip install -e .

# Build add-in in Visual Studio
# Open ProExporter/ProExporter.sln
# Build → Build Solution (Release)

License

MIT


Using with AI Agents

This tool is designed to make ArcGIS Pro sessions observable for AI coding assistants.

What Gets Exported

When you click Snapshot in ArcGIS Pro, the .arcgispro/ folder contains:

.arcgispro/
├── meta.json              # Export timestamp, tool version
├── context/
│   ├── project.json       # Project name, path, geodatabases
│   ├── maps.json          # Map names, spatial references, scales
│   ├── layers.json        # Full layer details with field schemas
│   ├── tables.json        # Standalone tables
│   ├── connections.json   # Database connections
│   └── layouts.json       # Print layouts
├── images/
│   ├── map_*.png          # Screenshots of each map view
│   └── layout_*.png       # Screenshots of each layout
└── snapshot/
    └── context.md         # Human-readable summary

Claude Code / Copilot CLI / Gemini CLI

These tools can read files and run commands in your working directory. Navigate to your ArcGIS Pro project folder and start your AI session:

cd /path/to/your/project
claude   # or: copilot, gemini

Example prompts:

What layers are in this project?
> AI runs: arcgispro layers

What fields are in the Parcels layer?
> AI runs: arcgispro fields "Parcels"

Which layers have broken data sources?
> AI runs: arcgispro layers --broken

Give me the full project context
> AI runs: arcgispro context

Look at the map screenshot and describe what you see
> AI reads: .arcgispro/images/map_*.png

Tips for Best Results

  1. Click Snapshot in Pro before starting your AI session - ensures context is fresh

  2. Ask naturally - the CLI commands map to common questions:

    • "What layers do I have?" → arcgispro layers
    • "Tell me about the Parcels layer" → arcgispro layer Parcels
    • "What's the schema?" → arcgispro fields Parcels
  3. Use --json for programmatic access - AI can parse structured output:

    arcgispro layers --json
    arcgispro layer "Parcels" --json
    
  4. Check images for visual context - map screenshots help AI understand spatial data

Custom Agent Integration

The JSON files are designed for programmatic access:

import json
from pathlib import Path

context_dir = Path(".arcgispro/context")
layers = json.loads((context_dir / "layers.json").read_text(encoding="utf-8-sig"))

for layer in layers:
    print(f"{layer['name']}: {layer.get('featureCount', 'N/A')} features")
    for field in layer.get('fields', []):
        print(f"  - {field['name']} ({field['fieldType']})")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arcgispro_cli-0.2.1.tar.gz (102.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arcgispro_cli-0.2.1-py3-none-any.whl (107.1 kB view details)

Uploaded Python 3

File details

Details for the file arcgispro_cli-0.2.1.tar.gz.

File metadata

  • Download URL: arcgispro_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 102.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arcgispro_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 530c7a371f20b302e6339659cb62e8a7ec9578ad295726fc4fc2c51c765f7de4
MD5 bad56620c052cac8af4e4cdba0bac0f9
BLAKE2b-256 e1a05ea098a2f920a8575723aa66e75e5a953ac5ccbd1ade3f1753df5778b6a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcgispro_cli-0.2.1.tar.gz:

Publisher: release.yml on danmaps/arcgispro_cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arcgispro_cli-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: arcgispro_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 107.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for arcgispro_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d51f9fc2ed1d9fff4b44609da8eec72d346ce954055302d22de46e00ff91f360
MD5 55cf24074c9e9922888ef368348653ad
BLAKE2b-256 14f7bfd9a615a602f2029afd38d7a4490a24dbce3692bbd7541e5133484ef77f

See more details on using hashes here.

Provenance

The following attestation bundles were made for arcgispro_cli-0.2.1-py3-none-any.whl:

Publisher: release.yml on danmaps/arcgispro_cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page