hyper introduction

20
Hyper Introduction 2015-04-14 Tue. Tetsuya Morimoto ~HTTP/2 Client for Python~

Upload: tetsuya-morimoto

Post on 21-Jul-2015

761 views

Category:

Technology


0 download

TRANSCRIPT

Hyper Introduction

2015-04-14 Tue.Tetsuya Morimoto

~HTTP/2 Client for Python~

Agenda

● Background– Joined the interoperability workshop

● Hyper Introduction– Pure Python http2 client

● OSS Contribution– Send Pull Request

● Summary

Background

Joined Workshop

● Interop hackathon at Tokyo– What is interop?

● Tried to use hyper, But– Error and debugging– https://github.com/Lukasa/hyper/pull/79– https://github.com/Lukasa/hyper/pull/80

Hyper Introduction

What is Hyper

● Author– Cory Benfield, @Lukasaoz

● Hyper: http2 client– Pure Python– Python 2.7.9, Python3.3+, PyPy– Requests, HTTPie Integration

● http1.1 support in 0.3.0, New!

PyCon 2015

● PyCon (US) 2015 (April 8-16) at Montreal– Hyperactive: HTTP/2 and Python

● https://www.youtube.com/watch?v=ACXVyvm5eTc

Cory is

requests, urllib3Core Contributor

HTTPBis Working Group

HTTP/2 is efficient

HTTP/2 is not ...

● HTTP/2.0 – The IETF is Phoning It In– Bad protocol, bad politics– Poul-Henning Kamp (FreeBSD, Varnish)

● “HTTP/2 is not a technical masterpiece“● Not improve your privacy

– Ruled out any basis other than SPDY– Concerns of Google's initiative politics

Tearful eyes

HTTP/2 is Imperfect

Next Hyper's vision?● Split Framing, HPACK layer into standalone library

– https://github.com/Lukasa/hyper/issues/120– https://github.com/Lukasa/hyper/issues/121

● Python HTTP Authority– https://github.com/hapy– Like Python Packaging Authority?

● Organization that maintains de facto standard libraries,

such pip and setuptools, etc.

Contributions

OSS Contributions

● Hyper's command line interface– https://github.com/Lukasa/hyper/pull/82– CLI documentation– A bug from switching HTTPHeaderMap

● https://github.com/Lukasa/hyper/pull/122

● For easy to use, or debugging

CLI Demo

Inside story on Pull Request

● https://github.com/Lukasa/hyper/pull/82– https://github.com/jakubroztocil/httpie-http2

● Hyper: The State of the Union● Cory reviews in a respectful way

– Encourage reviewee to achieve● Many other reviewer since Hyper is notable

– Get inspirations from others– Have synergistic effect

Summary

In my experience

● HTTP/2 is nice, try it out● Use Hyper for Pythonista

– Send Pull Request if you encountered a bug● Enjoy a challenge of something new

– Motivator is important– Many things you can help– Lots of feedback

Reference

● http://http2bin.org/● http://daniel.haxx.se/http2/● https://github.com/http2/● https://github.com/http2jp/