The framing layer of HTTP/2 is implemented as a form of reusable C library. On top of that, we have implemented HTTP/2 client, server and proxy. We have also developed load test and benchmarking tool for HTTP/2.
We have participated in httpbis working group since HTTP/2 draft-04, which is the first implementation draft. Since then we have updated nghttp2 library constantly to latest specification and nghttp2 is now one of the most mature HTTP/2 implementations.
All C APIs are fully documented.
nghttp2 library itself is a bit low-level. The experimental high level C++ API is also available.
We have Python binding of this libary, but we have not covered everything yet.