A python framework for creating a server which handles websockets for an existing API
Project description
A python framework for creating a stateful server which handles websocket functionality for an existing HTTP only API.
Flow
A client opens a websocket connection with a High-templar instance.
The HT instance proxies the request to the API, which in turn handles authentication and provides a list of rooms.
The HT instance tells the client what rooms he is allowed to subscribe to.
The client subscribes to one or more rooms
When receiving a trigger from the API, the HT instance publishes the received data to the specified rooms.
Installation
pip install high-templar
Motivation
This project is created for handling websockets for a django instance. Django doesn’t support websockets out of the box. To add websocket support to Django, one can either monkey patch the Django WSGI with gevent, or use django-channels which requires a lot of configuration and needs you to manage its workers.
High-templar uses a similar approach to django-channels, but uses internal HTTP requests to communicate with the existing Django instance. High-templar keeps track of the active websocket connections, which allows the Django instance to remain stateless.
Origin
This repository is based on archon. Archon is a framework for creating full fledged websocket based CRUD APIs. High-templar is only half the framework of Archon, as it relies on an existing API and only provides pubsub.
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
Built Distribution
Hashes for high_templar-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c75b0a2e9acb2fd395edbe6854726fdc00c9ed9df183ab0f79364b80dc0b561 |
|
MD5 | 1f95afecd51cf255a3593a7136b81d73 |
|
BLAKE2b-256 | 8ffc00d8f9265d07a3306746f9e13f900ec08e9d4e228863cf699861d639459c |