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 details)

Uploaded Source

File details

Details for the file minefield-0.6.tar.gz.

File metadata

  • Download URL: minefield-0.6.tar.gz
  • Upload date:
  • Size: 64.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for minefield-0.6.tar.gz
Algorithm Hash digest
SHA256 72ac0d3f867aecaf2a0421c678187c116840868aed764da1e54ba0258a934603
MD5 f0f4f8b119c1ac8a53dcda3ad1aa8970
BLAKE2b-256 bd560dcc62f22bd118cabdc795b0300cde4a2c61665d75d1aa969070d5b4fa68

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