miguelgrinberg/flask-socketio — explained in plain English
Analysis updated 2026-06-26
Add a real-time chat feature to an existing Flask website where messages appear instantly without page reloads
Build a live dashboard that pushes server-side updates to all connected browsers the moment data changes
Create a collaborative editing tool where multiple users see each other's changes in real time
| miguelgrinberg/flask-socketio | apple/ml-depth-pro | pennyw0rth/netexec | |
|---|---|---|---|
| Stars | 5,509 | 5,507 | 5,511 |
| Language | Python | Python | Python |
| Setup difficulty | easy | hard | moderate |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | developer | researcher | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires pip install of flask-socketio and a compatible async worker like eventlet or gevent for production.
Flask-SocketIO is a Python package that lets a Flask web application communicate with a browser in real time, sending messages back and forth without the browser needing to repeatedly ask the server for updates. Flask is a popular, lightweight framework for building websites and APIs in Python. Socket.IO is a protocol that keeps an open connection between a browser and a server so either side can send a message at any moment. This package wires the two together. Without something like this, a web page has to refresh or poll the server every few seconds to check for new information. With Flask-SocketIO, the server can push a message to the browser the instant something happens, and the browser can reply. This makes it practical to build things like chat applications, live dashboards, or collaborative editing tools on top of a Flask backend. Installing the package is a single pip command. Once installed, you wrap your existing Flask app with the SocketIO object, then define event handlers using a decorator. The short example in the README shows an app that listens for an event called my_event and immediately emits a response back to whoever sent it. Starting the server is one line of code. The README is brief and mostly contains the installation instruction and a minimal code sample. For a fuller picture of what the library can do, such as broadcasting to multiple connected clients, handling rooms, or integrating with authentication, the official documentation is available on Read the Docs and a tutorial exists on the author's blog. Questions from the community are also archived on Stack Overflow under the flask-socketio tag.
A Python package that adds real-time, two-way messaging between a Flask web app and browsers using Socket.IO, so the server can push updates instantly without polling, enabling chat, live dashboards, and collaborative tools.
Mainly Python. The stack also includes Python, Flask, Socket.IO.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.