Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Django Socket Server

Project Description

Django Socket Server


  1. Install django-socket-server:

    pip install django-socket-server
  2. Add socket_server to INSTALLED_APPS:


Create a in an application of your project.

django-socket-server will discover the socket files that are in applications installed against Django.

An example looks like this:

from socket_server.namespace import EventNamespace

class Namespace(EventNamespace):

    def client_connected(self, client):
        super(Namespace, self).client_connected(client)

        print 'Send ping'
        self.emit_to(client, 'ping')

    def register_callbacks(self):
        return {
            'pong': self.pong

    def pong(self, client, **kwargs):
        print 'Received pong event'

Messages are sent and received in JSON, and always contain an event key. This key is then mapped to callbacks, added inside register_callbacks.

You can specify a namespace name using the name property like so:

class Namespace(EventNamespace):
    name = 'pingpong'

If you do not specify a name, the app name will be used by default.

Start Socket Server

Use the management command provided to start the socket server: python start_socket.

You may pass an optional –port to override the default port of 3000.

Client connection

The above example would expose the following: ws://localhost:3000/pingpong


The full documentation is at


0.0.1 (2015-01-01)

  • First release on PyPI.

0.0.2 (2015-01-30)

  • Added python client classes

0.0.3 (2015-01-30)

  • Catch server shutdown and pass to namespaces

0.0.4 (2015-02-01)

  • Remove debugging and add “room” event errors

Release History

This version
History Node


History Node


History Node


History Node


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
(9.2 kB) Copy SHA256 Hash SHA256
Source None Feb 1, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Google Google Cloud Servers Fastly Fastly CDN StatusPage StatusPage Statuspage DigiCert DigiCert EV Certificate