drava_common.cli

drava-pipeline — a small launcher/validator/scaffolder for Drava pipelines.

This is the numaflow-like front door for the examples. Instead of opening N terminals and exporting DRAVA_STAGE_NAME by hand for each stage, you point this at a pipeline.yaml and it:

  • validates the config (wiring between stages, EOS forwarding, required fields);

  • launches one process per stage with DRAVA_STAGE_CONFIG/DRAVA_STAGE_NAME set correctly (downstream stages first, so they are listening before upstream stages produce);

  • streams their output and shuts them all down together on Ctrl-C or failure.

It launches only the runtime stages. Data sources (publishers) stay separate, matching the runtime’s design: the publisher is not the runtime.

Usage:

drava-pipeline validate pipeline.yaml drava-pipeline run pipeline.yaml [–app-cmd stage1=python app.py …] drava-pipeline new-app NAME [–dir DIR] [–stages N]

Run as a module if not installed on PATH:

python -m drava_common.cli run pipeline.yaml

Functions

cmd_validate(→ int)

cmd_run(→ int)

cmd_new_app(→ int)

build_parser(→ argparse.ArgumentParser)

main(→ int)

Module Contents

drava_common.cli.cmd_validate(args) int
drava_common.cli.cmd_run(args) int
drava_common.cli.cmd_new_app(args) int
drava_common.cli.build_parser() argparse.ArgumentParser
drava_common.cli.main(argv=None) int