livepeer / livepeer/livepeer-python-gateway
Expose orchestrators list on reserve_session() for direct multi-orch discovery
@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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.