Skip to content

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.

    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, 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.

    netstead docs Quickstart

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

Contributing

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