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
.catalogPathor.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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| arc_utils-1.4.0.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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