Skip to main content

High performance Python WSGI Web Server

Project description

What’s this

https://travis-ci.org/methane/minefield.svg

This is a fork of meinheld, the high performance python wsgi web server.

Minefield removes asynchronous feature from meinheld and have some experimental tuning.

And minefield is a WSGI compliant web server. (PEP333 and PEP3333 supported)

Requirements

minefield requires Python 2.x >= 2.7 or Python 3.x >= 3.3.

minefield supports Linux, FreeBSD, Mac OS X.

Installation

Install from pypi:

$ pip install -U minefield

Install from source:

$ python setup.py install

minefield supports gunicorn.

To install gunicorn:

$ pip install -U gunicorn

Basic Usage

simple wsgi app:

from minefield import server

def hello_world(environ, start_response):
    status = '200 OK'
    res = b"Hello world!"
    response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(res)))]
    start_response(status, response_headers)
    return [res]

server.listen(("0.0.0.0", 8000))
server.run(hello_world)

with gunicorn. user worker class “egg:minefield#gunicorn_worker” or “minefield.gminefield.MinefieldWorker”:

$ gunicorn --workers=2 --worker-class="egg:minefield#gunicorn_worker" gunicorn_test:app

Performance

For parsing HTTP requests, meinheld uses Ryan Dahl’s http-parser library.

(see https://github.com/joyent/http-parser)

It is built around the high performance event library picoev.

(see http://developer.cybozu.co.jp/kazuho/2009/08/picoev-a-tiny-e.html)

sendfile

Meinheld uses sendfile(2), over wgsi.file_wrapper.

Project details


Release history Release notifications | RSS feed

This version

0.6

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minefield-0.6.tar.gz (64.8 kB view hashes)

Uploaded Source

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