- Python
- TypeScript
deeply_nested_generator, nested_generator, and inner Ops in the trace tree hierarchy.

Consuming generators
Weave captures generator outputs only after you fully consume the generator. Consume the generator by iterating over it (for example, withlist(), a for loop, or next() until exhaustion). The same applies to async generators when you use async for or equivalent consumption.
For more on decorating functions and methods with @weave.op, see Create calls.
Accumulate yielded values into a single trace
You can use theweave.op’s accumulator parameter to customize how yielded values are combined from generator functions, for example, to join streamed text tokens into a single string. The accumulator is a two-argument function that Weave calls once per yielded value, building up a result incrementally.
The
accumulator parameter is not available for the TypeScript.