BSD Ports

www/py-h2 4.4.1 NetBSD

HTTP/2 State-Machine based protocol implementation

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
Last update
Commit
a1bba141b6
License
mit
Categories
www, python
Package size
100.9 KiB, 724.8 KiB installed

Description

Hyper-h2 is a HTTP/2 protocol stack, written entirely in Python. The goal of Hyper-h2 is to be a common HTTP/2 stack for the Python ecosystem, usable in all programs regardless of concurrency model or environment.

To achieve this, Hyper-h2 is entirely self-contained: it does no I/O of any kind, leaving that up to a wrapper library to control. This ensures that it can seamlessly work in all kinds of environments, from single-threaded code to Twisted.

Its goal is to be 100% compatible with RFC 7540, implementing a complete HTTP/2 protocol stack build on a set of finite state machines. Its secondary goals are to be fast, clear, and efficient.

In the other systems

SystemPortVersion
NetBSDwww/py-h24.4.1
FreeBSDwww/py-h24.4.1
OpenBSDwww/py-h24.4.1
DragonFlywww/py-h24.1.0_1
MidnightBSDwww/py-h24.1.0_1
HardenedBSDwww/py-h24.4.1
GhostBSDwww/py-h24.4.1
OPNsensewww/py-h24.3.0

Install

Binary package:

pkgin install py311-h2

From pkgsrc:

cd /usr/pkgsrc/www/py-h2 && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_644.4.1
NetBSD 10.1 aarch644.3.0
SmartOS / illumos x86_644.4.1
macOS 15 arm644.4.1

Dependencies

Run dependencies 3

Configuration

No options to configure.

Service scripts
none
Flavors
py312-h2-4.4.1, py313-h2-4.4.1, py314-h2-4.4.1

Commit history 2

DateCommitCreditsLog message
a1bba141b6 wiz py-h2: update to 4.4.1.
4.4.1 (2026-08-03) ------------------ **Bugfixes** - Performance improvement: remove consumed frames in-place from data buffer. - Reject duplicate Host headers in request headers. Thanks to Sunand Mohan for the report.
945e6ae8d4 wiz py-h2: update to 4.4.0.
4.4.0 (2026-07-23) ------------------ **API Changes (Backward Incompatible)** - Support for Python 3.9 has been removed. - Support for PyPy 3.9 has been removed. - `Stream.end_stream()` now raises `NoSuchStreamError` or `StreamClosedError` exceptions, instead of a generic `KeyError`. - Duplicate ``content-length`` headers with different values now raise ``ProtocolError``. Previously, the first ``content-length`` header was accepted and later conflicting values were ignored. - Parse ``content-length`` headers according to RFC9110 grammar for numbers (1*DIGIT) - **backfill from v4.3.0** Convert emitted events into Python `dataclass`, which introduces new constructors with required arguments. …