pylsqpack
Python wrapper for the ls-qpack QPACK library
What it is and what it does
pylsqpack is a Python binding for the ls-qpack C library, providing native QPACK compression and decompression for HTTP/3 headers. QPACK is the header compression scheme specified for HTTP/3, and this package exposes Decoder and Encoder objects that allow Python applications to compress headers for transmission or decompress received headers.
The package is compiled to native code for multiple platforms and architectures, making it suitable for HTTP/3 protocol implementations, proxies, and testing tools. It has no runtime dependencies beyond Python itself and supports Python 3.10 through 3.14. The library is actively maintained and carries a permissive BSD-3-Clause license.
Use it for:
- Building HTTP/3 clients or servers that need to compress and decompress header frames.
- Testing HTTP/3 protocol implementations with correct QPACK encoding and decoding.
- Integrating QPACK support into proxy or gateway applications handling HTTP/3 traffic.
- Protocol analysis tools that need to parse or generate HTTP/3 header compression.
- Benchmarking or comparing QPACK compression efficiency in network applications.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pylsqpack provides Python Decoder and Encoder objects for reading and writing HTTP/3 headers compressed with QPACK, wrapping the ls-qpack C library.
Yes, if you are building or testing HTTP/3 protocol support. The package is actively maintained, has no known vulnerabilities, carries a permissive license, and provides a straightforward binding to a well-established QPACK implementation. Install friction is moderate due to compiled wheels, but pre-built binaries are available for common platforms. Not necessary for standard HTTP/1.1 or HTTP/2 applications.
Install
pylsqpack on PyPI
pip
pip install pylsqpackuv
uv add pylsqpackpoetry
poetry add pylsqpackInstalling pylsqpack
Before you install
Medium install friction due to compiled wheels for multiple platforms and architectures. Actively maintained with recent releases; requires Python 3.10 or later.
License in practice
BSD-3-Clause is permissive; you may use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install pylsqpack
from pylsqpack import Decoder, Encoder
decoder = Decoder()
encoded_data = b'...'
headers = decoder.feed_data(encoded_data)
encoder = Encoder()
compressed = encoder.encode(headers)
Requires Python 3.10 or later; compiled wheels available for common platforms (x86_64, ARM, i686, Windows).
Verify before relying
- Whether the package is actively used in production HTTP/3 implementations or primarily for protocol testing.
- Performance characteristics and compression ratio compared to alternative QPACK implementations.
- API stability guarantees and backward compatibility policy across minor versions.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 138 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,171,749/month — #2,713 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pylsqpack-0.3.24-cp310-abi3-macosx_10_9_x86_64.whl; pylsqpack-0.3.24-cp310-abi3-macosx_11_0_arm64.whl; pylsqpack-0.3.24-cp310-abi3-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; pylsqpack-0.3.24-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pylsqpack-0.3.24-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pylsqpack-0.3.24-cp310-abi3-musllinux_1_2_aarch64.whl; pylsqpack-0.3.24-cp310-abi3-musllinux_1_2_i686.whl; pylsqpack-0.3.24-cp310-abi3-musllinux_1_2_x86_64.whl; pylsqpack-0.3.24-cp310-abi3-win32.whl; pylsqpack-0.3.24-cp310-abi3-win_amd64.whl; pylsqpack-0.3.24-cp310-abi3-win_arm64.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
hpackEncodes and decodes HTTP/2 headers using the…
permissive · top 1,000 on PyPI
brotliProvides Python bindings to the Brotli…
permissive · top 1,000 on PyPI
brotlipybrotlipy provides Python bindings to the Brotli…
permissive · top 5,000 on PyPI
pylzsspylzss decodes and encodes data compressed with…
copyleft · top 15,000 on PyPI
compress-pickleWraps Python's standard pickle serialization…
permissive · top 15,000 on PyPI
bencode.pyEncodes and decodes bencode format, the binary…
unclear · top 15,000 on PyPI
astc-encoder-pyastc-encoder-py compresses and decompresses…
permissive · top 15,000 on PyPI
w3libw3lib provides utility functions for common web…
permissive · top 5,000 on PyPI
Flask-CompressFlask-Compress automatically compresses Flask…
permissive · top 5,000 on PyPI