A WebSockets and channels implementation for Flask
Project description
flask-websockets
flask-websockets is an extension library for Flask, a popular web micro-framework. It adds real-time communication capabilities to your Flask application. flask-websockets implements the WebSocket protocol and allows for low-level control over the connections, as well as a high-level API for subscribing connections to rooms.
flask-websockets supports most popular HTTP WSGI servers such as Werkzeug, Gunicorn, Eventlet and Gevent.
Example Usage
import time
from threading import Thread
from flask import Flask
from flask_websockets import WebSocket, WebSockets
app = Flask(__name__)
websockets = WebSockets(app)
@websockets.route("/ws")
def websocket_route(ws: WebSocket) -> None:
with websockets.subscribe(ws, ["server_time"]):
for data in ws.iter_data(): # keep listening to the websocket so it doesn't disconnect
pass
def publish_server_time() -> None:
while True:
websockets.publish(str(time.time()), ["server_time"])
time.sleep(1)
Thread(target=publish_server_time).start()
app.run(host="localhost", port=6969)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flask_websockets-0.1.2.tar.gz
(11.2 kB
view details)
Built Distribution
File details
Details for the file flask_websockets-0.1.2.tar.gz
.
File metadata
- Download URL: flask_websockets-0.1.2.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.17.1 CPython/3.12.4 Linux/6.5.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d91e9272b74c5a9ab944b86e6ff71a71182e64263ff0bcca6989cca892d7ddb7 |
|
MD5 | be0bcd5573f9e5be1e055b92fcae848d |
|
BLAKE2b-256 | 2983f9e4ac95e9ce147f304edafac0a9a22f79d4730024c3b999a11d3985f86c |
File details
Details for the file flask_websockets-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: flask_websockets-0.1.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.17.1 CPython/3.12.4 Linux/6.5.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b645e8d7bd70792244e1cb8db1a4032f0f7503195e9be5274e6500c54546b1d9 |
|
MD5 | e873cc7e624f4d095e32a5c4bafe6cbd |
|
BLAKE2b-256 | 195bd3b9b610b318829ed74b97465abdd43c3c9414c064c423dc083b11cf958d |