Netstead + corral
This repo holds two Python packages with separate utility and separate audiences. Each ships its own documentation site:
-
corral
Generic engine for Frictionless tabular data packages — any spec. Lazy DuckDB compute (via ibis); pandas / polars / Arrow in and out. Reads CSV / Parquet / DuckDB / zip-CSV from local paths and URLs with a credentials cascade. Composable primitives for validation, scope, editing, HTTP and MCP.
Pick corral if you're working with any Frictionless data package — GTFS-derived feeds, OGD datasets, a custom internal spec, or building your own toolkit.
-
netstead
GMNS-specific toolkit on top of corral. Adds the
Networkclass, the vendored GMNS spec (0.95 / 0.96 / 0.97), network-aware scope operations, the data-quality rule pack, optional editing tools with rollback, building networks from OpenStreetMap or Overture (netstead build), natural-language selection, a browser Workbench (netstead app) with linked map and tables, and an optional self-hosted HTTP server + MCP server.Pick netstead if you're working with transportation networks — DOT / MPO planning, travel-demand modeling, GTFS ↔ GMNS interop, OSM-derived routing graphs.
Which package do I install?
You only install corral directly if you're working on something non-GMNS. The first PyPI release under
these names (netstead, dbcorral) is pending, so the v1.0 beta installs from GitHub:
# GMNS toolkit (name both packages — dbcorral is not on PyPI yet)
pip install \
"dbcorral @ git+https://github.com/e-lo/netstead.git@main#subdirectory=packages/corral" \
"netstead[all] @ git+https://github.com/e-lo/netstead.git@main#subdirectory=packages/netstead"
# generic engine only — for non-GMNS use cases
pip install "dbcorral @ git+https://github.com/e-lo/netstead.git@main#subdirectory=packages/corral"
Once published these become pip install netstead (which brings corral with it) and pip install dbcorral.
Source
- GitHub: e-lo/netstead — monorepo holding both packages.
- License: Apache-2.0.
- Status: v1.0 in beta.
netstead-v1.0.0ships when the Phase 5 acceptance criteria are green.
Contributing
Both packages live in the same monorepo. See the development guide (in the corral site — it covers the monorepo as a whole).