Netstead + corral
This repo holds two PyPI 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, 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?
Installing netstead brings corral along automatically. You only install corral directly if you're working on something non-GMNS.
pip install netstead # GMNS toolkit (brings corral with it)
pip install dbcorral # generic engine only — for non-GMNS use cases
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).