drava_common

Shared helpers for Drava example apps, publishers, and orchestration.

This package removes the copy-paste that used to live in every examples/<name>/ directory (hand-rolled YAML parsers, publisher pacing loops, metrics writers, benchmark plumbing). A new example should only need an app.py (a callback + drava.run) and a pipeline.yaml; everything generic lives here.

Public surface (import from drava_common):

  • Config: load_pipeline_config(), PipelineConfig, validate_pipeline(), PipelineConfigError.

  • Publisher: load_transport_config(), load_publish_config(), write_publisher_metrics(), publish_stream(), socket_publish_stream(), EOS_PREFIX.

Submodules