A framework for implementing real-time APIs in Django web applications
Project description
Django-RT
- Current version:
0.3.1 pre-alpha
Django-RT is a framework for implementing real-time APIs in Django web applications. This framework follows the traditional publish/subscribe methodology, using Redis as the pub/sub provider.
Django-RT consists of two major components:
Application API: This provides the necessary functionality to allow you to easily add a real-time API to your Django application.
“Courier” HTTP server: A lightweight, asynchronous server designed solely to deliver real-time messages to web clients.
WARNING: Django-RT is currently in pre-alpha stages of development, and is not ready for public consumption. Expect major API changes and, potentially, security risks in pre-alpha releases. Use in production at your own risk!
Uses
Web chat
User notifications
Real-time charts (server monitoring, stock tickers, etc)
Features
Simple to integrate with any existing Django project
Trivial client-side JavaScript implementation with SSE (Server-Sent Events); no third-party libraries needed with modern browsers.
Asynchronous server design to handle many long-running client connections from a single thread
Decoupled server architecture allows for the use of blocking code (database access, cache access, etc) in callbacks, without compromising the operation of the delivery server
Deployable on existing Heroku apps, using uWSGI
Requirements
Django >= 1.7
Python >= 3.4 (2.7+ support planned)
A Redis server (TODO: minimum Redis version)
Deployment
Courier server
There are currently 2 production servers to choose from:
aiohttp/asyncio (recommended): Python >= 3.4
gevent WSGI: Python >= 3.4
Protocols
SSE (Server-Sent Events) is the only delivery protocol currently supported.
Limitations
Only one-way delivery is currently supported (server to client). Messages originating from the client should use a conventional AJAX request. This should be sufficient for the majority of applications.
Real-time functionality can only be added to Django Class-Based Views (CBVs). Older function-style views are not supported.
How it works
TODO
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-rt-0.3.1.tar.gz
.
File metadata
- Download URL: django-rt-0.3.1.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 183b60d130fb34c3a6fb71a594cb8abded72bf3496ce41904c3320bdfea1795b |
|
MD5 | bf80f7d679052f6fefbf19f49b950b42 |
|
BLAKE2b-256 | 44fa4e8d88ab356999c4da5beeeed5a4386604d0161496317766864007de37a8 |