Skip to content

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.

    corral docs Quickstart

  •  netstead


    GMNS-specific toolkit on top of corral. Adds the Network class, 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.

    netstead docs Quickstart

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

Contributing

Both packages live in the same monorepo. See the development guide (in the corral site — it covers the monorepo as a whole).