Skip to content

ckaye89/hendrix

 
 

Repository files navigation

Mr. D. Reinhardt, with a pair of guitars and tatters of sheet music in the back seat, speeds his convertible westward over the mountains. The campfire carries on without the blessing of his gypsy jazz, but his morning return is as a fearsome, left-handed character – familiar but Twisted(.py)

hendrix

Providing web culture APIs to do the awesome of Twisted.

Overview

hendrix is a tool for handling bytes-on-the-wire to and from your python web application. In this sense, it is similar to mod_wsgi, uWSGI, and gunicorn.

However, hendrix differs from these other technologies in that it is natively asynchronous and designed with background tasks in mind. In this sense, it may serve some projects as a replacement for gevent or celery.

hendrix implements the WSGI protocol, so it can serve applications made with django, pyramid, flask and other WSGI frameworks. However, hendrix views your web as just another network resource - in fact, this is central to the hendrix philosophy.

Features

  • Multi-processing - The WSGI app can be served from multiple processes on a single machine.
  • Multi-threading from within your Django / Flask / Pyramid app: Various APIs allow you to defer logic until later, place it in a different thread or process, and report back asynchronously. For example, see crosstown_traffic.
  • Built-in Websockets Framework
  • Optional Resource Caching
  • Built-in SSL Support: Terminate SSL inside your app if you like. Public keys can be part of your logic!
  • Daemonize by passing the -d or --daemonize flags to hx

Quickstart

Using pip

pip install hendrix

Running the Development Server

cd to the directory where your manage.py file is located and...

hx start --dev

This is roughly the equivalent of running the django devserver.


For more, see the full hendrix documentation.

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.8%
  • HTML 4.4%
  • Shell 0.8%