Multiple Endpoints

Run more than one environment endpoint, then point a single evaluator at all of them.

One evaluator can connect to multiple environment endpoints, including a Gymnasium environment and a custom object. The runnable evaluator is examples/python/quickstart/eval_many.py.

Start two servers

Run these commands in separate terminals from the OSS repository root. The first serves Gymnasium CartPole-v1; the second serves the custom CounterEnv:

uv run python examples/python/quickstart/serve_gymnasium.py --address 127.0.0.1:5555
uv run python examples/python/quickstart/serve.py --address 127.0.0.1:5556

Evaluate both

Run the client in a third terminal:

uv run python examples/python/quickstart/eval_many.py \
  127.0.0.1:5555 \
  127.0.0.1:5556

The client opens one RemoteEnv per address and evaluates them on separate threads. Each connection reads its endpoint’s spaces, so the sampled-action loop needs no environment-specific imports.