hyper
HTTP/2 Client for Python
What it is and what it does
hyper is a Python HTTP/2 client library that attempts to provide HTTP/2 protocol support to Python applications. It wraps the lower-level h2 and hyperframe libraries to handle HTTP/2 framing and header compression, and depends on cryptography and pyOpenSSL for TLS negotiation. The library exposes an API similar to the standard library's http.client, with classes like HTTPConnection that accept host and port, then allow you to issue requests and read responses.
The package was designed as an early-stage implementation of the HTTP/2 specification during a period when server support was limited. It supports HTTP/2 final draft and earlier drafts (14, 15, 16), and can negotiate protocol version via ALPN when using PyOpenSSL. However, the package has been abandoned since 2016 and is marked as alpha, meaning it likely contains bugs and rough edges that will never be fixed.
Use it for:
- Testing HTTP/2 protocol support in a Python application when a server explicitly supports HTTP/2 and you need explicit control over the protocol version
- Learning how HTTP/2 framing and header compression work at the Python library level, given the package's relatively transparent delegation to h2 and hyperframe
- Legacy applications that were written against hyper before more mature HTTP/2 clients became available and cannot easily migrate away
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
hyper is an HTTP/2 client library for Python that provides a drop-in-style interface for making HTTP/2 requests, similar to the standard library's http.client but designed explicitly for HTTP/2 protocol support.
No. The package is abandoned (no releases since 2016-09-27) and marked alpha, meaning it will not receive security updates or bug fixes. Modern Python applications should use requests, httpx, or aiohttp instead, all of which have active maintenance and better HTTP/2 support. Install hyper only if you are maintaining legacy code that already depends on it and cannot migrate.
Install
hyper on PyPI
pip
pip install hyperuv
uv add hyperpoetry
poetry add hyperInstalling hyper
Before you install
Installation is low-friction with five runtime dependencies (h2, hyperframe, cryptography, pyOpenSSL, service-identity) all available as wheels. However, the package is marked abandoned with no releases since 2016-09-27 and is in alpha status, so expect no active maintenance or security updates.
License in practice
MIT License permits commercial and private use with minimal restrictions, making it legally straightforward to adopt. However, the permissive license does not guarantee ongoing maintenance or support.
Quickstart
from hyper import HTTPConnection
conn = HTTPConnection('http2bin.org:443')
conn.request('GET', '/get')
resp = conn.get_response()
print(resp.read())
Requires a server that supports HTTP/2; most servers at the time of the package's last release did not. The package is in early alpha and abandoned, so compatibility with modern HTTP/2 implementations is uncertain.
Verify before relying
- Whether hyper remains compatible with current HTTP/2 server implementations and modern TLS versions
- Current state of the five runtime dependencies (h2, hyperframe, cryptography, pyOpenSSL, service-identity) and whether they have received security updates since 2016
- Whether the package works reliably with Python versions beyond 3.5
Package facts
| License | MIT License (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — h2, hyperframe, cryptography, pyOpenSSL, service-identity |
| Maintenance | abandoned — 3,608 days since the last release |
| First released | |
| Downloads | 254,291/month — #8,499 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: hyper-0.7.0-py2.py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
hyper-upHTTP/2 client library for Python that provides…
permissive · top 15,000 on PyPI
hyperframehyperframe decodes binary HTTP/2 frame streams…
permissive · top 1,000 on PyPI
jh2jh2 is a pure-Python HTTP/2 protocol state…
permissive · top 5,000 on PyPI
hpackEncodes and decodes HTTP/2 headers using the…
permissive · top 1,000 on PyPI
HypercornHypercorn is an ASGI and WSGI web server…
permissive · top 5,000 on PyPI
h2h2 is a pure-Python HTTP/2 protocol…
permissive · top 1,000 on PyPI
httpcore2A minimal, low-level HTTP client library…
permissive · top 1,000 on PyPI
httpx2HTTPX2 is a fully featured HTTP client library…
permissive · top 1,000 on PyPI