restgdfΒΆ
Improved Esri REST I/O for GeoPandas.
restgdf is an async-first wrapper around Esri/ArcGIS REST Feature and Map
services. It reads all features past the serverβs maxRecordCount, returns
validated pydantic models for every response, and hands you a
geopandas.GeoDataFrame ready for analysis.
import asyncio
from aiohttp import ClientSession
from restgdf import FeatureLayer
url = "https://maps1.vcgov.org/arcgis/rest/services/Beaches/MapServer/6"
async def main():
async with ClientSession() as session:
layer = await FeatureLayer.from_url(url, session=session)
return await layer.getgdf()
gdf = asyncio.run(main())
Explore the docsΒΆ
Install, connect to a FeatureServer, and pull a GeoDataFrame in under ten lines.
Pass ArcGIS tokens directly or let ArcGISTokenSession mint and refresh them for you.
Every ArcGIS response is a typed BaseModel β LayerMetadata, FeaturesResponse, CrawlReport, and more.
FeatureLayer, Directory, ArcGISTokenSession, and the migration helpers in restgdf.compat.
Low-level crawl, HTTP, token, and GeoDataFrame helpers.
Upgrading from restgdf 1.x? The breaking-changes table and rewrite recipes live here.
Every page is also published as plain Markdown (append .md to any URL),
plus llms.txt / llms-full.txt indexes for RAG pipelines and coding agents.