Skip to main content

H2O HTTP server library

Project description

https://travis-ci.org/iceb0y/pyh2o.svg?branch=master

The pyh2o module provides Python binding for the H2O HTTP server. Specifically, it provides high performance HTTP 1/2 and websocket server for Python.

Installation

pip install pyh2o

If binary distribution for your platform is not provided, you will need cmake>=2.8.11 to install.

Development

Clone the repository, initialize submodules by git submodule update --init --recursive.

  • Build: python setup.py build
  • Test: python setup.py test
  • Clean: python setup.py clean

End to end test brings up a real server and make requests to it.

Example

Below is an example of serving static content.

import h2o
import socket

class Handler(h2o.Handler):
    def on_req(self):
        self.res_status = 200
        self.send_inline(b'Hello, world!')
        return 0

config = h2o.Config()
host = config.add_host(b'default', 65535)
host.add_path(b'/plaintext').add_handler(Handler)

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
sock.bind(('127.0.0.1', 8888))
sock.listen(0)

loop = h2o.Loop()
loop.start_accept(sock.fileno(), config)
while loop.run() == 0:
    pass

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pyh2o-0.0.6-cp26-cp26m-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp26
pyh2o-0.0.6-cp26-cp26mu-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp26
pyh2o-0.0.6-cp27-cp27m-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp27
pyh2o-0.0.6-cp27-cp27mu-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp27
pyh2o-0.0.6-cp33-cp33m-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp33
pyh2o-0.0.6-cp34-cp34m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 hash SHA256 Wheel cp34
pyh2o-0.0.6-cp35-cp35m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 hash SHA256 Wheel cp35
pyh2o-0.0.6.tar.gz (16.7 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page