Skip to content

Commit 6af775c

Browse files
committed
fix(observe): avoid buffering uncaptured stream items
1 parent 75eec09 commit 6af775c

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

langfuse/_client/observe.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,8 @@ def __next__(self) -> Any:
571571
try:
572572
# Run the generator's __next__ in the preserved context
573573
item = self.context.run(next, self.generator)
574-
self.items.append(item)
574+
if self.capture_output:
575+
self.items.append(item)
575576

576577
return item
577578

@@ -644,7 +645,8 @@ async def __anext__(self) -> Any:
644645
# Python < 3.10 fallback - context parameter not supported
645646
item = await self.generator.__anext__()
646647

647-
self.items.append(item)
648+
if self.capture_output:
649+
self.items.append(item)
648650

649651
return item
650652

tests/unit/test_observe.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def body():
3030
assert memory_exporter.get_finished_spans() == []
3131

3232
assert list(generator) == ["item_0", "item_1"]
33+
assert generator.items == []
3334

3435
langfuse_memory_client.flush()
3536

@@ -73,6 +74,7 @@ async def endpoint():
7374
assert memory_exporter.get_finished_spans() == []
7475

7576
assert [item async for item in response.body_iterator] == ["chunk_0", "chunk_1"]
77+
assert response.body_iterator.items == []
7678

7779
langfuse_memory_client.flush()
7880

0 commit comments

Comments
 (0)