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_NAMEset 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¶
|
|
|
|
|
|
|
|
|
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¶