Follow-up to #1597 (review nice-to-haves #5, #8, #9 + docs).
Settings surface (#9)
- The Python
RoutingClient forwards only time_limit; map the rest of RoutingSolverSettings (verbose, error_logging, dump_best_results_path/interval) for parity.
E2E coverage (#5)
- The live test covers only a small cost-matrix problem; add capacity and time-window remote-vs-local cases (gated on
CUOPT_GRPC_SERVER).
Perf / robustness nits (#8)
_solution_to_py: take the solution by const ref.
- Consider bulk
RepeatedField assignment and releasing the GIL in the wait loop.
- Revisit the test-driver message-size limits.
Docs
- Document
cuopt.grpc.routing.RoutingClient as the GPU-less remote entry point in the package/API docs.
🤖 Generated with Claude Code
Follow-up to #1597 (review nice-to-haves #5, #8, #9 + docs).
Settings surface (#9)
RoutingClientforwards onlytime_limit; map the rest ofRoutingSolverSettings(verbose,error_logging,dump_best_results_path/interval) for parity.E2E coverage (#5)
CUOPT_GRPC_SERVER).Perf / robustness nits (#8)
_solution_to_py: take the solution by const ref.RepeatedFieldassignment and releasing the GIL in the wait loop.Docs
cuopt.grpc.routing.RoutingClientas the GPU-less remote entry point in the package/API docs.🤖 Generated with Claude Code