Add SSE/chunked streaming support to the SDK

Open
#26 1 comment 0 reactions 1 assignee View on GitHub

@rickstaa is already working on this.

Since Jun 15, 2026.

Assessment

This issue has not been assessed yet.

Description

What

Add SSE / chunked streaming support to call_runner in the Python SDK, so callers can consume live runner responses incrementally instead of waiting for the full body.

  • http.open_stream() — opens an HTTP request and hands back the live (session, response) without reading the body. Caller owns both. No total timeout (streams run indefinitely); only connect/first-byte are bounded. Raises LivepeerHTTPError on >= 400.
  • LiveRunnerCallStream — returned by call_runner(..., stream=True). Owns the aiohttp session/response, is an async context manager (or call aclose()), and exposes the body via aiter_bytes() / aiter_lines() plus status/headers/content_type/runner.
  • Payment — streaming reuses the existing per-call 402 challenge/retry path; open_stream raises before any body, so the payment retry catches it exactly like the non-streaming path.
  • Export LiveRunnerCallStream from the package root.

Why

Live runner apps that stream output (token-by-token LLM responses, progressive media) need an incremental response path in the SDK, without standing up the trickle/lv2v continuous-payment flow. This SSE path is one job, one upfront payment.

Implementation

Implemented in livepeer/livepeer-python-gateway#25 (builds on the live-runner work in #20).

Dominant language
Python
Stars
1
Forks
7
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from livepeer/livepeer-python-gateway

All issues in livepeer/livepeer-python-gateway

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.