hyper introduction
TRANSCRIPT
Agenda
● Background– Joined the interoperability workshop
● Hyper Introduction– Pure Python http2 client
● OSS Contribution– Send Pull Request
● Summary
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
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
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
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.
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
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
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/