DravaΒΆ
An event-driven runtime for scientific streaming pipelines.
Drava connects a data source to one or more processing or inference stages and runs them at high frame rates on GPU hardware. A stage is a single Python callback; the runtime owns the streaming machinery β transport, batching, multi-threaded dispatch, end-of-stream handling, and per-stage observability.
Developed at Argonne National Laboratory and built on the xkrt tasking runtime.
Guides
API reference
- C API
drava_frame_tdrava_frame_batch_tdrava_stats_tdrava_frame_routine_tdrava_eos_routine_tdrava_rcode_tdrava_transport_tdrava_verbose_tdrava_register_frame_routine()drava_register_eos_routine()drava_init()drava_listen()drava_publish()drava_deinit()drava_log()drava_stats_snapshot()drava_stats_reset()drava_set_callback_batch()drava_set_callback_flush_timeout_ms()drava_set_callback_serialize()drava_set_forward_eos()drava_payload_parse_eos()frame_idrecv_ts_nsdatadata_lenbatch_idcountbase_indexframesrx_msgsrx_itemsrx_bytestx_msgstx_bytescallback_batchescallback_ns_sumcallback_ns_maxpublish_ns_sumpublish_ns_maxstage_latency_samplesstage_latency_ns_sumstage_latency_ns_maxfirst_rx_nslast_stage_ns
- Python API