Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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 Feb 26, 2017
pyh2o-0.0.6-cp26-cp26mu-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp26 Feb 26, 2017
pyh2o-0.0.6-cp27-cp27m-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp27 Feb 26, 2017
pyh2o-0.0.6-cp27-cp27mu-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp27 Feb 26, 2017
pyh2o-0.0.6-cp33-cp33m-manylinux1_x86_64.whl (1.6 MB) Copy SHA256 hash SHA256 Wheel cp33 Feb 26, 2017
pyh2o-0.0.6-cp34-cp34m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 hash SHA256 Wheel cp34 Feb 26, 2017
pyh2o-0.0.6-cp35-cp35m-manylinux1_x86_64.whl (1.7 MB) Copy SHA256 hash SHA256 Wheel cp35 Feb 26, 2017
pyh2o-0.0.6.tar.gz (16.7 MB) Copy SHA256 hash SHA256 Source None Feb 26, 2017

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