Grpc elixir to python with websocket

For the third point in the list posted by trisolaran there may be another option that use a long-lived request with streamed response.

The Python API may expose a “subscribe” call with streamed response. When an event occur it streams/send back a new response item.

This solution require keepalive pings to keep connection alive and some error handling code (i.e. in the server you need to force unsubscribe for disconnected clients).

See Long-lived channels and asynchronous calls