All Projects → iceboy233 → pyh2o

iceboy233 / pyh2o

Licence: MIT license
Python binding for the H2O HTTP server

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to pyh2o

H2o.docker
docker files for h2o http2 webserver
Stars: ✭ 33 (+32%)
Mutual labels:  http2, h2o
apns2
Node client for connecting to Apple's Push Notification Service using the new HTTP/2 protocol with JSON web tokens
Stars: ✭ 66 (+164%)
Mutual labels:  http2
exemplary-ml-pipeline
Exemplary, annotated machine learning pipeline for any tabular data problem.
Stars: ✭ 23 (-8%)
Mutual labels:  h2o
cashpack
A stateless event-driven HPACK codec
Stars: ✭ 25 (+0%)
Mutual labels:  http2
django-http2-middleware
⚡️Django middleware to automatically send preload headers before views runs, enabling faster HTTP2 server-push (with CSP support).
Stars: ✭ 65 (+160%)
Mutual labels:  http2
restler
Restler is a beautiful and powerful Android app for quickly testing REST API anywhere and anytime.
Stars: ✭ 120 (+380%)
Mutual labels:  http2
nih-chest-xray
Identifying diseases in chest X-rays using convolutional neural networks
Stars: ✭ 83 (+232%)
Mutual labels:  h2o
docker-imgproxy
🌐 An ultra fast, production-grade on-the-fly image processing web server. Designed for high throughput with Nginx caching. Powered by imgproxy.
Stars: ✭ 45 (+80%)
Mutual labels:  http2
machine gun
HTTP/1 and HTTP/2 client for Elixir. Based on Gun and Poolboy.
Stars: ✭ 62 (+148%)
Mutual labels:  http2
mercury-ml
Mercury-ML is an open source Machine Learning workflow management library. Its core contributors are employees of Alexander Thamm GmbH
Stars: ✭ 37 (+48%)
Mutual labels:  h2o
awacs
Next-gen mobile first analytics server (think Mixpanel, Google Analytics) with built-in encryption supporting HTTP2 and gRPC. Node.js, headless, API-only, horizontally scaleable.
Stars: ✭ 52 (+108%)
Mutual labels:  http2
next.js-boilerplate
next.js bolierplate, next.js 的开发模板
Stars: ✭ 28 (+12%)
Mutual labels:  http2
hook-slinger
A generic service to send, retry, and manage webhooks.
Stars: ✭ 88 (+252%)
Mutual labels:  http2
th2c
Tornado HTTP/2 Client
Stars: ✭ 79 (+216%)
Mutual labels:  http2
book-store
Example of a book store management with MEAN STACK
Stars: ✭ 23 (-8%)
Mutual labels:  http2
http2-examples-empireconf
HTTP2 examples for EmpireConf talk
Stars: ✭ 15 (-40%)
Mutual labels:  http2
3dub
www dev server with livereload, file watching, http2, https, self signed cert generation
Stars: ✭ 28 (+12%)
Mutual labels:  http2
telco-customer-churn-in-r-and-h2o
Showcase for using H2O and R for churn prediction (inspired by ZhouFang928 examples)
Stars: ✭ 59 (+136%)
Mutual labels:  h2o
lolhttp
An HTTP Server and Client library for Scala.
Stars: ✭ 93 (+272%)
Mutual labels:  http2
hunt-http
http library for D, support http 1.1 / http 2.0 (http2) / websocket server and client.
Stars: ✭ 29 (+16%)
Mutual labels:  http2

pyh2o

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].