Skip to content

Siyavula/chaussette

 
 

Repository files navigation

Chaussette

Chaussette is a WSGI server. The particularity of Chaussette is that it can either bind a socket on a port like any other server does or run against already opened sockets.

That makes Chaussette the best companion to run a WSGI or Django stack under a process and socket manager, such as Circus.

Build Status Coverage Status on master http://allmychanges.com/p/python/chaussette/badge/

Quick Start

Running:

chaussette

starts a very simple HTTP sample server on port 8080.

Starting a WSGI application using chaussette is simply a matter of calling:

chaussette examples.tornadoapp.wsgiapp

Chaussette can also serve tornado (non WSGI) application:

chaussette --backend tornado examples.tornadoapp.tornadoapp

The simple_chat example can be started as:

chaussette --backend socketio examples.simple_chat.chat.app

Note that the two previous examples are not backend agnostic, since they are not (pure) WSGI applications.

A flask based pure WSGI application can be started with most backends:

chaussette --backend gevent examples.flaskapp.app

In these examples, we start a standalone WSGI server, but the spirit of chaussette is to be managed by Circus, as described https://chaussette.readthedocs.io/en/latest/#using-chaussette-in-circus

Links

Changelog

Siyavula Fork - 2018-06-04

Chaussette has NO support for actually transferring the arguments captured (under arguments) to the webserver even though it appears exactly what it is intended for. This fork has been specifically tested with Waitress but the change should work for other backends as well. This fork assumes that those arguments (while still optional) are keyword arguments and then passes them in when creating the server.

1.3.0 - 2015-06-01

  • Fix gevent monkey patching (pull request #67).
  • Add a "--graceful-timeout" option (for gevent-based backends).
  • Fix the tornado backend so that it accepts tornado's WSGIApplication instaces.
  • Update documentation.
  • Improve example applications.

Packages

No packages published

Languages

  • Python 99.1%
  • Makefile 0.9%