Skip to main content

A WebSockets and channels implementation for Flask

Project description

flask-websockets

GitHub Actions Workflow Status GitHub Actions Workflow Status Documentation Status PyPI - Downloads linting - Ruff code style - Ruff

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)

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)

Uploaded Source

Built Distribution

flask_websockets-0.1.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

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

Hashes for flask_websockets-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d91e9272b74c5a9ab944b86e6ff71a71182e64263ff0bcca6989cca892d7ddb7
MD5 be0bcd5573f9e5be1e055b92fcae848d
BLAKE2b-256 2983f9e4ac95e9ce147f304edafac0a9a22f79d4730024c3b999a11d3985f86c

See more details on using hashes here.

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

Hashes for flask_websockets-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b645e8d7bd70792244e1cb8db1a4032f0f7503195e9be5274e6500c54546b1d9
MD5 e873cc7e624f4d095e32a5c4bafe6cbd
BLAKE2b-256 195bd3b9b610b318829ed74b97465abdd43c3c9414c064c423dc083b11cf958d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page