Skip to main content

Pure-Python HTTP/2 protocol implementation

Project description

Build Status Code Coverage Documentation Status Chat community https://raw.github.com/python-hyper/documentation/master/source/logo/hyper-black-bg-white.png

This repository contains a pure-Python implementation of a HTTP/2 protocol stack. It’s written from the ground up to be embeddable in whatever program you choose to use, ensuring that you can speak HTTP/2 regardless of your programming paradigm.

You use it like this:

import h2.connection
import h2.config

config = h2.config.H2Configuration()
conn = h2.connection.H2Connection(config=config)
conn.send_headers(stream_id=stream_id, headers=headers)
conn.send_data(stream_id, data)
socket.sendall(conn.data_to_send())
events = conn.receive_data(socket_data)

This repository does not provide a parsing layer, a network layer, or any rules about concurrency. Instead, it’s a purely in-memory solution, defined in terms of data actions and HTTP/2 frames. This is one building block of a full Python HTTP implementation.

To install it, just run:

$ python -m pip install h2

Documentation

Documentation is available at https://h2.readthedocs.io .

Contributing

h2 welcomes contributions from anyone! Unlike many other projects we are happy to accept cosmetic contributions and small contributions, in addition to large feature requests and changes.

Before you contribute (either by opening an issue or filing a pull request), please read the contribution guidelines.

License

h2 is made available under the MIT License. For more details, see the LICENSE file in the repository.

Authors

h2 was authored by Cory Benfield and is maintained by the members of python-hyper.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

h2-4.2.0.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

h2-4.2.0-py3-none-any.whl (61.0 kB view details)

Uploaded Python 3

File details

Details for the file h2-4.2.0.tar.gz.

File metadata

  • Download URL: h2-4.2.0.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for h2-4.2.0.tar.gz
Algorithm Hash digest
SHA256 c8a52129695e88b1a0578d8d2cc6842bbd79128ac685463b887ee278126ad01f
MD5 172e73653fc2785937541afe40363246
BLAKE2b-256 1b38d7f80fd13e6582fb8e0df8c9a653dcc02b03ca34f4d72f34869298c5baf8

See more details on using hashes here.

File details

Details for the file h2-4.2.0-py3-none-any.whl.

File metadata

  • Download URL: h2-4.2.0-py3-none-any.whl
  • Upload date:
  • Size: 61.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.21

File hashes

Hashes for h2-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 479a53ad425bb29af087f3458a61d30780bc818e4ebcf01f0b536ba916462ed0
MD5 213f336d04aa349b0eb3c77347b57f60
BLAKE2b-256 d09e984486f2d0a0bd2b024bf4bc1c62688fcafa9e61991f041fb0e2def4a982

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page