skillfed

h11

A pure-Python, bring-your-own-I/O implementation of HTTP/1.1

h11 Permissive license MIT AGING 564 v0.16.0 released

Install

h11 on PyPI

pip

pip install h11

uv

uv add h11

poetry

poetry add h11

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance aging — 476 days since the last release
Last repo commit
First released
Popularity one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: h11-0.16.0-py3-none-any.whl

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTPTopic :: System :: Networking

About h11

from the package's own PyPI description — quoted content, verbatim

h11

.. image:: https://travis-ci.org/python-hyper/h11.svg?branch=master :target: https://travis-ci.org/python-hyper/h11 :alt: Automated test status

.. image:: https://codecov.io/gh/python-hyper/h11/branch/master/graph/badge.svg :target: https://codecov.io/gh/python-hyper/h11 :alt: Test coverage

.. image:: https://readthedocs.org/projects/h11/badge/?version=latest :target: http://h11.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status

This is a little HTTP/1.1 library written from scratch in Python, heavily inspired by hyper-h2 <https://hyper-h2.readthedocs.io/>_.

It's a "bring-your-own-I/O" library; h11 contains no IO code whatsoever. This means you can hook h11 up to your favorite network API, and that could be anything you want: synchronous, threaded, asynchronous, or your own implementation of RFC 6214 <https://tools.ietf.org/html/rfc6214> -- h11 won't judge you. (Compare this to the current state of the art, where every time a new network API <https://trio.readthedocs.io/> comes along then someone gets to start over reimplementing the entire HTTP protocol from scratch.) Cory Benfield made an `excellent blog post describing...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

h11 is a pure-Python HTTP/1.1 protocol implementation that handles message parsing and serialization without any built-in I/O, letting you integrate it with any network stack (synchronous, asynchronous, or custom).

Installation is straightforward with no runtime dependencies. The project shows aging maintenance (476 days since last release) but remains actively developed with recent commits and a solid test suite; suitable for established use cases rather than rapid iteration.

MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations—only attribution is required.

Usage

pip install h11

import h11

conn = h11.Connection(h11.CLIENT)
req = h11.Request(method="GET", target="/", headers=[("host", "example.com")])
data = conn.send(req)
data += conn.send(h11.EndOfMessage())

Requires Python 3.8 or later; h11 provides only protocol logic, not I/O, so you must supply your own socket/network handling.

Verdict: h11 is a mature, well-tested HTTP/1.1 toolkit ideal for building custom HTTP clients and servers atop any I/O model. Zero dependencies, permissive licensing, and top-100 PyPI popularity make it a solid foundation layer, though its aging release cadence suggests it is feature-complete rather than actively evolving.

Needs verification

  • Whether the 476-day gap since release reflects deliberate stability or reduced maintenance capacity
  • Performance characteristics relative to other HTTP/1.1 parsers in production workloads
HTTP/1.1 protocol parserbring your own I/O HTTP libraryasync-agnostic HTTP implementationHTTP message parsing and serializationlow-level HTTP protocol toolkitRFC 7230 HTTP/1.1 implementationHTTP framing and state machine

Similar packages