Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Client SDK with BYOC release (livepeer-client)

オープン
#9 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python

調査の方向性

リンクされている client-sdk.md 仕様から始め、実装に触れる前に3つのブロッカーPRを確認してください。次に、packages/livepeer-client、packages/livepeer-runner、packages/livepeer-trickle のレイアウトと、既存の start_lv2v エントリポイントを調べてください。ブロッカーの取り込み後に、記載されている Gateway の動詞、async バリアント、パッケージング、サンプル、リリースワークフローが実装されていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Outcome

Ship the v1 livepeer-client SDK so callers can request any Livepeer capability — not just live video-to-video — using one of three idiomatic verbs (run / stream / live) without having to understand orchestrators, discovery, trickle, or local payment signing.

The same call a developer runs in the Developer Dashboard playground is the call that ships into their app.

Spec

Design lives in livepeer-specs / client-sdk.md. Update the spec rather than this issue body when the design moves.

Key shape (see spec for full details):

  • Gateway(token=…, signer_url=…, …) — config carrier, reused across N calls
  • gw.run(capability, *, input=, model=) → plain return value (Replicate / fal idiom)
  • gw.stream(capability, …) → StreamResponse yielding StreamEvent (OpenAI / Anthropic idiom)
  • gw.live(capability, …) → LiveSession with publish / subscribe / control / events (LiveKit idiom)
  • Async variants (run_async, stream_async) first-class
  • Three-distribution packaging: livepeer-client, livepeer-runner, livepeer-trickle under livepeer.* PEP 420 namespace

Blockers

The v1 release is gated on the following PRs landing:

Work checklist (post-blocker)

Public API
  • Gateway config carrier with token / signer / discovery / orch precedence rules
  • gw.live(capability, ...) → LiveSession (delegates to existing start_lv2v for live-video-to-video)
  • gw.run(...) skeleton (raises NotImplementedError until BYOC HTTP routing on orch)
  • gw.stream(...) skeleton (raises NotImplementedError until BYOC SSE routing on orch)
  • StreamEvent / StreamResponse / AsyncStreamResponse types
  • run_async / stream_async variants
  • Wire gw.run to BYOC HTTP route once upstream lands
  • Wire gw.stream to BYOC SSE route once upstream lands
Packaging (paired with #8 C12)
  • Move repo to uv workspace — packages/livepeer-client, packages/livepeer-runner, packages/livepeer-trickle
  • PEP 420 namespace: no __init__.py at src/livepeer/; CI check to enforce
  • livepeer-gateway deprecation shim re-exports public names with DeprecationWarning
  • PyPI publish workflow per package
Docs / examples
  • Migrate examples from start_lv2v(...) to Gateway(...).live(...)
  • One worked example per verb (run, stream, live)
  • README quickstart matching Replicate / fal / OpenAI style

Open questions

See the Open questions before implementation section in the spec — primarily around BYOC HTTP / SSE routing path on the orchestrator and publish / subscribe lazy vs. eager creation.

Out of scope for v1

Item Why deferred
Gateway.submit(...) handle pattern (.wait / .cancel / .id) Needs orch-side reattach + cancel semantics designed first
Non-video live capabilities (raw trickle fallback) No non-video live capability exists upstream yet
Sync wrapper for live() Live jobs are inherently async; a sync wrapper would mask that

Related

  • Spec: client-sdk.md
  • Companion epic: #8 (Pipeline SDK — deploy-side)
  • Initial implementation: #6

Status

Blocked on the three upstream PRs listed above. Design locked.

主要言語
Python
スター
1
フォーク
8
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

livepeer/livepeer-python-gateway のほかの issue

livepeer/livepeer-python-gateway の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。