Skip to content

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.

PyPI Python License

Installation

pip install archibald

Or with uv:

uv add archibald

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.