Skip to main content

SwampDragon is a powerful platform making it easy to build real time web applications, combining the power of Django and Tornado

Project description

SwampDragon
===========

[![Downloads](https://pypip.in/download/SwampDragon/badge.svg?style=flat&?period=month)](https://pypi.python.org/pypi/SwampDragon/)
[![Downloads](https://pypip.in/py_versions/SwampDragon/badge.svg?style=flat&)](https://pypi.python.org/pypi/SwampDragon/)

Build real-time web applications with Django.

Features:

* Real-time data
* Self publishing model
* Make use of the wonderful features of Django
* Serializers handling Django models
* Customisable field serializers
* Routers that are easy to understand
* Angular JS support
* Query style data subscriptions
* Easy to implement in existing Django projects


SwampDragon makes use of Djangos wonderful ORM, Tornados excellent websocket support (with fallback. Tested in IE7), and
Redis blazing speed.

## Installation

pip install swampdragon


## Quickstart

See [documentation](http://swampdragon.net/documentation/) and example projects in this repository.

[Tutorial](http://swampdragon.net/tutorial/part-1-here-be-dragons-and-thats-a-good-thing/) available here.

# Documentation

See [Documentation](http://swampdragon.net/documentation/) here


# Changelog

## 0.3.5

```python manage.py socketserver``` has been removed, use ```python server.py``` both for development and deployment.

Multiple connections are now possible:

SOCKJS_CLASSES = (
('swampdragon.connections.sockjs_connection.DjangoSubscriberConnection', '/data'),
('myproject.connections.CustomConnection', '/myendpoint'),
)

A lot of changes has been made to the JavaScript libraries to work with multiple connections and be more 'endpoint specific'.


### JavaScript changes

The old ```dataService``` will be removed.


#### AngularJS
With multiple endpoint support, the AngularJS service changes.

```dataService``` is renamed to ```$dragon```

and all calls requires the endpoint. So ```dataService.getList``` becomes ```$dragon.data.getList```
(where **data** is the name of the endpoint).

Previously $rootScope was used to broadcast when the connection was ready, however with multiple connections
possible this now changes to ```$dragon.[endpoint].onReady```

$dragon.data.onReady(function() {
...
});


The same goes for ```onChannelMessage```.

// Previously
$scope.$on('handleChannelMessage', function(e, channels, message) { ... });

// Now
$dragon.data.onChannelMessage(function(channels, message) { ... });


#### JavaScript settings

Settings needs to be included in the template

<script type="text/javascript" src="http://localhost:9999/settings.js"></script>

(remember to change localhost to your server url / domain name)

Project details


Release history Release notifications

History Node

0.4.2.2

History Node

0.4.2.1

History Node

0.4.2

History Node

0.4.1.2

History Node

0.4.1.0

History Node

0.4.0.2

History Node

0.4.0.1

History Node

0.3.9

History Node

0.3.8.3

History Node

0.3.8.2

History Node

0.3.8.1

History Node

0.3.8

History Node

0.3.7

History Node

0.3.6

History Node

0.3.5.2

This version
History Node

0.3.5.1

History Node

0.3.5

History Node

0.3.4.2

History Node

0.3.4.1

History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
SwampDragon-0.3.5.1.tar.gz (76.1 kB) Copy SHA256 hash SHA256 Source None Aug 25, 2014
SwampDragon-0.3.5.1.zip (118.6 kB) Copy SHA256 hash SHA256 Source None Aug 25, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page