Streaming Modes
Two streaming modes, picked with StreamingMode:
from pyrula.workflows.stream.kinds import StreamingModesafe (the default) buffers output and publishes it in one shot when the step
finishes. live publishes chunks as they arrive.
Reach for safe when a consumer should see a result exactly once. Reach for live
when latency matters more and consumers can handle a chunk being restarted or
overwritten on a boundary.