Skip to main content

README

What is this repository for?

  • A collection of (mostly) arcpy related utilities for use within ArcGIS Pro (Python 3). Shortcuts for accessing elements of a map document, performing various data discovery tasks on a table or geodatabase

How do I get set up?

Install from PyPI:

pip install arc-utils

For local development and editable usage from clone:

python -m pip install -e .

To use the utilities:

  • in the python window in ArcGIS Pro

import arc_utils as au

  • typing au. will now reveal the modules and functions available to you if you have autocomplete on

  • Depends on arcpy (only available with Esri license)

Example usage

import arc_utils as au

tbl = au.table.TableObj(path to featureclass)

list all fields

print(tbl.fields)

pro_doc = au.aprx.AprxObj(“CURRENT”)

pro_doc.maps >> [<arcpy._mp.Map object at 0x000001A4AECBF108>, <arcpy._mp.Map object at 0x000001A4AEBB6608>]

pro_doc.maps[0].name >> ‘Map’

Accepted Input Types

Most path parameters now accept:

  • string path
  • pathlib.Path / other path-like objects
  • wrapper objects with .path
  • ArcGIS layer/table objects with .catalogPath or .dataSource (where applicable)

Invalid paths raise ValueError("invalid path").

Constructor acceptance is preserved (for example, passing path-like and wrapper objects directly to TableObj, GDBObj, and AprxObj).

Exporting field values to Excel

import arc_utils as au
from openpyxl import Workbook

# Single table export with class method
tbl = au.table.TableObj(r"C:\path\to\featureclass")
wb = Workbook()
ws = wb.active
tbl.export_fields_to_worksheet(ws)
wb.save(r"C:\path\to\schema_values.xlsx")
# Multi-layer export with module function
layers = [r"C:\path\to\layer1", r"C:\path\to\layer2"]
au.table.export_field_sets(layers, r"C:\path\to\all_layers.xlsx")
# Worksheet naming behavior:
# use_lyr_alias=True -> prefer alias/name (human-readable)
# use_lyr_alias=False -> use full table path (traceable)
au.table.export_field_sets(layers, r"C:\path\to\all_layers.xlsx", use_lyr_alias=True)
au.table.export_field_sets(layers, r"C:\path\to\all_layers_by_path.xlsx", use_lyr_alias=False)
# Duplicate detection outputs
tbl = au.table.TableObj(r"C:\path\to\featureclass")
dup_values = tbl.find_duplicate_field_values("STATUS", output="set")
dup_rows_df = tbl.find_duplicate_field_values(["STATUS", "TYPE"], output="df")

Contribution guidelines

Contributions welcomed, this is a starting point for various utilities that I think could be useful within ArcGIS Pro.

Metadata

Release files for arc-utils 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for arc-utils 1.4.0
File Size Uploaded
arc_utils-1.4.0.tar.gz 18.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for arc-utils 1.4.0
File Interpreter ABI Platform
arc_utils-1.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.0 kB

Release files / arc_utils-1.4.0.tar.gz

Download URL arc_utils-1.4.0.tar.gz
Size 18.8 kB
Tags Source
SHA-256 checksum
How to use checksums
59c878397bf3ff007af776f0f37899ae932dd5a2dd58da2f80e0896927cb8d69
BLAKE2b-256 checksum
How to use checksums
bc015cdb72a074747a68a7cc1988a10a19d59110f1a9b09b11ce0b3e5e868df6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.

Transparency log

Release files / arc_utils-1.4.0-py3-none-any.whl

Download URL arc_utils-1.4.0-py3-none-any.whl
Size 21.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
247e3aac7a0d381bf111631736d81701b4c049894a490a41d8bc52925440e44c
BLAKE2b-256 checksum
How to use checksums
168279dfdacce42be539a6a80baf5a74b3e67db3f17f486fbb5365b9b8f482a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.0 This release

2 release files

1.3

2 release files

1.2.1

2 release files

1.1

2 release files

0.7

1 release file

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page