Expose orchestrators list on reserve_session() for direct multi-orch discovery
@j0sh is already working on this.
Since Jul 7, 2026.
Assessment
This issue has not been assessed yet.
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.
- Dominant language
- Python
- Stars
- 1
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from livepeer/livepeer-python-gateway
-
call_runner rejects a top-level JSON array, so a runner cannot pass one throughPossibly taken @rickstaa claimed this 47 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
livepeer/livepeer-python-gateway#64 · 1 comment ·
-
Align pricing terminology: pixels_per_unit -> pricing_unit_size (track go-livepeer #3942)May be free again A pull request for this issue was closed without being merged. OpenImprovement
Difficulty 1/5 Under an hour Newbie friendliness 68/100
livepeer/livepeer-python-gateway#27 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
trickle_publisher: `_resolve_next_seq` fallback drops first video segment + logs noisy warningMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 1/5 Under an hour Newbie friendliness 70/100
livepeer/livepeer-python-gateway#12 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
All issues in livepeer/livepeer-python-gateway
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#133181 ·
Maintainers usually reply within 1 day
-
[oblt-aw][security] SEC-022 — findings (2026-10-05)Possibly taken @elastic-vault-github-plugin-prod claimed this today. Openoblt-aw/ai/fix-ready oblt-aw/detector/security oblt-aw/triage/security-secrets
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
elastic/oblt-aw#2304 · 2 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 Under an hour Newbie friendliness 90/100
huggingface/huggingface_hub#5083 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
deepset-ai/haystack#13107 ·
Maintainers usually reply within 1 day
-
[Bug]: index worker dies on LOG_LEVEL=info / empty / numeric before it can report a missing bootstrapPossibly taken @sxh313 claimed this today. Opentriage/confirmed
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
agentscope-ai/agentscope#3130 ·
Maintainers usually reply within 1 day