Skip to main content

Pure python web server, based on Twisted, providing the One Obvious Way to do async and offbeat network traffic with django and other WSGI apps.

Project description

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](docs/_static/hendrix-logo.png)

v3.2.5

A Python web server that makes async and offbeat network traffic easy, fun, and fast.

[![Gitter](https://badges.gitter.im/hendrix/hendrix.svg)](https://gitter.im/hendrix/hendrix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Build Status](https://travis-ci.org/hendrix/hendrix.png?branch=master)](https://travis-ci.org/hendrix/hendrix)[![Latest Docs](https://readthedocs.org/projects/hendrix/badge/?version=latest)](http://hendrix.readthedocs.org/en/latest/)

## 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](https://modwsgi.readthedocs.org), [uWSGI](https://uwsgi-docs.readthedocs.org), and [gunicorn](http://gunicorn-docs.readthedocs.org).

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](https://readthedocs.org/projects/gevent/) or [celery](http://celery.readthedocs.org).

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](http://hendrix.readthedocs.org/en/latest/philosophy/).

Twisted is one of the most battle-tested and actively developed Python projects. Until hendrix, however, Twisted has not been part of a mainstream python web server. And that’s a shame.

### 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](http://hendrix.readthedocs.org/en/latest/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](http://hendrix.readthedocs.org).

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

hendrix-3.2.5.tar.gz (50.6 kB view details)

Uploaded Source

Built Distribution

hendrix-3.2.5-py3-none-any.whl (55.8 kB view details)

Uploaded Python 3

File details

Details for the file hendrix-3.2.5.tar.gz.

File metadata

  • Download URL: hendrix-3.2.5.tar.gz
  • Upload date:
  • Size: 50.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for hendrix-3.2.5.tar.gz
Algorithm Hash digest
SHA256 4ff6b7bbdddaa1e934eb3617cca6ebc66e405343bec7d8f4c4f8eebd64d3a5c7
MD5 307a847b470a543d3e0c437927b65c5c
BLAKE2b-256 90b0a0ed865d1aca92cdc077a3e0929f59e147c2d1533a02fd4949490d86fbe7

See more details on using hashes here.

File details

Details for the file hendrix-3.2.5-py3-none-any.whl.

File metadata

  • Download URL: hendrix-3.2.5-py3-none-any.whl
  • Upload date:
  • Size: 55.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4

File hashes

Hashes for hendrix-3.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 80e8256512800e36567d5b382ffe940a47b63d0d4b9c68feb332f9b7f1d23ec0
MD5 66d2cfc81402b727c2671e27e86abcf9
BLAKE2b-256 c6a301e14682758d23cea93b0d23fce54e098801302185d29b8c577ee04d7cb8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page