Your issue comes from trying to call asyncio.run() inside an already running event loop. Instead, you should use loop.run_forever() for continuous streaming. Here's the fix:
1. Replace run_until_complete(start_stream()) with:
task = loop.create_task(start_stream())
loop.run_forever()
2. If you're running this inside Jupyter Notebook or another environment with an active event loop, use:
import nest_asyncio
nest_asyncio.apply()
asyncio.run(start_stream())
This should solve the problem. Let me know if you
need more help!