archibald
An async-first Python client for interacting with ESRI ArcGIS REST APIs, designed around a dataframe-first approach for seamless analysis with pandas and geopandas.
Installation
Or with uv:
Quick Start
import archibald as arc
auth = arc.UserTokenAuth(
username="your_username",
password="your_password",
)
async with arc.ArchieClient(
base_url="https://services.arcgis.com/sharing/rest/services",
auth=auth,
) as client:
layer = arc.FeatureLayer(
client=client,
service_path="MyService/FeatureServer",
layer_id=0,
)
result = await layer.query(where="1=1")
df = result.to_frame()
gdf = result.to_geodataframe()
See the Usage Guide for a full walkthrough, or jump straight to the API Reference.