diff --git a/python/laminardb/_laminardb.pyi b/python/laminardb/_laminardb.pyi
index 839a3b0..778b31e 100644
--- a/python/laminardb/_laminardb.pyi
+++ b/python/laminardb/_laminardb.pyi
@@ -619,6 +619,18 @@ class AsyncStreamSubscription:
"""The subscription schema as a PyArrow Schema."""
...
+ def next(self) -> QueryResult | None:
+ """Blocking wait for the next batch."""
+ ...
+
+ def next_timeout(self, timeout_ms: int) -> QueryResult | None:
+ """Blocking wait for the next batch with a timeout in milliseconds."""
+ ...
+
+ def try_next(self) -> QueryResult | None:
+ """Non-blocking poll for the next batch."""
+ ...
+
def cancel(self) -> None:
"""Cancel the subscription."""
...
diff --git a/src/stream_subscription.rs b/src/stream_subscription.rs
index 0121857..656c717 100644
--- a/src/stream_subscription.rs
+++ b/src/stream_subscription.rs
@@ -214,6 +214,63 @@ impl AsyncStreamSubscription {
}
}
+ /// Blocking wait for the next batch.
+ fn next(&self, py: Python<'_>) -> PyResult