livepeer / livepeer/livepeer-python-gateway

Expose orchestrators list on reserve_session() for direct multi-orch discovery

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

@j0sh is already working on this.

Since Jul 7, 2026.

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

Description

`reserve_session()` only accepts a single `discovery_url`, so selecting across a few orchestrators needs either a remote signer + `/discover-orchestrators` aggregator, or dropping to the low-level API.

The list support already exists one layer down: `runner_selector()` / `discover_orchestrator_runners()` / `orchestrator_discovery_urls()` all accept `orchestrators: Sequence[str] | str` (list or comma-delimited), fan out each `/discovery`, and select in parallel. `reserve_session()` just does not forward it.

## Why

Test/select across a chosen set of orchs without standing up a signer + aggregator (funded wallet, container, and a capability filter that drops generic apps). Direct per-orch discovery, so it works with any app id.

## Today

Possible only via `runner_selector(orchestrators=[...])`, which returns a `RunnerSelectionCursor` and forces re-implementing the cursor -> `LiveRunnerSession` extraction that `reserve_session()` already does. Or through a remote signer discovery endpoint through the `OrchAddr` flag. However this has been broken right now (see https://github.com/livepeer/go-livepeer/pull/3938#issuecomment-4884639725).

## Scope

Dev/testing ergonomics, not a new production path: direct discovery only (no registry, no price-capping), not a replacement for signer aggregation.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.