hendrix


Namehendrix JSON
Version 5.0.0 PyPI version JSON
download
home_pagehttps://github.com/hendrix/hendrix
SummaryPure python web server, based on Twisted, providing the One Obvious Way to do async and offbeat network traffic with django and other WSGI apps.
upload_time2024-02-08 11:45:30
maintainer
docs_urlNone
authorhendrix
requires_python
license
keywords django twisted async logging wsgi
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            *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)

*v5.0.0*

*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).**

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/hendrix/hendrix",
    "name": "hendrix",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "django,twisted,async,logging,wsgi",
    "author": "hendrix",
    "author_email": "justin@justinholmes.com",
    "download_url": "https://files.pythonhosted.org/packages/16/ba/2ce73956bb9de94af1ab642ff8a2622988e85e420028a2dd8f73f39a4780/hendrix-5.0.0.tar.gz",
    "platform": null,
    "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 \u2013 familiar but Twisted* `(.py)`\n\n![hendrix](docs/_static/hendrix-logo.png)\n\n*v5.0.0*\n\n*A Python web server that makes async and offbeat network traffic easy, fun, and fast.*\n\n[![Gitter](https://badges.gitter.im/hendrix/hendrix.svg)](https://gitter.im/hendrix/hendrix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n[![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/)\n\n## Overview\n\n**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).  \n\nHowever, 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).\n\n**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/).\n\nTwisted 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.\n\n### Features\n* **Multi-processing** - The WSGI app can be served from multiple\nprocesses on a single machine.\n* **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/).\n* **Built-in Websockets Framework**\n* **Optional Resource Caching**\n* **Built-in SSL Support**: Terminate SSL inside your app if you like.  Public keys can be part of your logic!\n* **Daemonize** by passing the `-d` or `--daemonize` flags to `hx`\n\n### Quickstart\n\nUsing pip\n\n    pip install hendrix\n\n\n#### Running the Development Server\n\ncd to the directory where your **manage.py** file is located and...\n\n    hx start --dev\n\nThis is roughly the equivalent of running the django devserver.\n\n----\n\n**For more, see the full [hendrix documentation](http://hendrix.readthedocs.org).**\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "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.",
    "version": "5.0.0",
    "project_urls": {
        "Download": "https://github.com/hendrix/hendrix/tarball/v5.0.0",
        "Homepage": "https://github.com/hendrix/hendrix"
    },
    "split_keywords": [
        "django",
        "twisted",
        "async",
        "logging",
        "wsgi"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "16d4e29e2f34c977889e8b0fea3765e54ef21675a0cb16556959a7ab0b6643fa",
                "md5": "bfa6a49bf5c31c524e08b8af73d84685",
                "sha256": "c0780230c75c7d912fbb530406fd8ac979b1849a2e535f1b72fb7002a29b9b44"
            },
            "downloads": -1,
            "filename": "hendrix-5.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bfa6a49bf5c31c524e08b8af73d84685",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 57248,
            "upload_time": "2024-02-08T11:45:28",
            "upload_time_iso_8601": "2024-02-08T11:45:28.513329Z",
            "url": "https://files.pythonhosted.org/packages/16/d4/e29e2f34c977889e8b0fea3765e54ef21675a0cb16556959a7ab0b6643fa/hendrix-5.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "16ba2ce73956bb9de94af1ab642ff8a2622988e85e420028a2dd8f73f39a4780",
                "md5": "0fdb5958111d810faab3d26a78127940",
                "sha256": "f78ca22f41528eec242b9685a6d88bc24ce60660660add07292088771738518b"
            },
            "downloads": -1,
            "filename": "hendrix-5.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0fdb5958111d810faab3d26a78127940",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 81423,
            "upload_time": "2024-02-08T11:45:30",
            "upload_time_iso_8601": "2024-02-08T11:45:30.783012Z",
            "url": "https://files.pythonhosted.org/packages/16/ba/2ce73956bb9de94af1ab642ff8a2622988e85e420028a2dd8f73f39a4780/hendrix-5.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-08 11:45:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hendrix",
    "github_project": "hendrix",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "hendrix"
}
        
Elapsed time: 0.17567s