
Build SSE in Python (FastAPI)
We’re building a Server-Sent Events (SSE) demo using FastAPI . This example streams messages to a browser immediately and reliably . 1️⃣ Dependencies Install the required packages: pip install fastapi uvicorn Optional (for HTML rendering if needed): pip install jinja2 2️⃣ Python Code (SSE + HTML) Save this as main.py : from fastapi import FastAPI from fastapi.responses import StreamingResponse , HTMLResponse import time app = FastAPI () # SSE generator def event_generator (): for i in range ( 1 , 6 ): yield f " data: Message { i } \n\n " # Each message ends with two newlines time . sleep ( 1 ) # simulate delay # SSE endpoint @app.get ( " /events " ) async def sse (): return StreamingResponse ( event_generator (), media_type = " text/event-stream " ) # Serve HTML page for testing @app.get ( " / " ) async def index (): return HTMLResponse ( """ <!DOCTYPE html> <html> <body> <h1>SSE Test</h1> <ul id= " messages " ></ul> <script> const source = new EventSource( " /events " ); const message
Continue reading on Dev.to Python
Opens in a new tab




