--- id: http-sf version: "1.3.0" license: MIT license_treatment: permissive maintenance: active --- # http-sf — Parse and serialise HTTP Structured Fields License: permissive · Maintenance: active · Downloads: 189.7K/mo ## What it is and what it does http-sf is a Python library that implements RFC 9651 for parsing and serializing HTTP Structured Fields. It converts HTTP header values (provided as bytes) into Python data structures—dictionaries, lists, and items—and back again. The library handles the full range of structured field types: integers, decimals, strings, tokens, byte sequences, booleans, dates, and display strings, along with parameters attached to any of these types. The package provides a functional API via `parse()` and `ser()` functions, with detailed error reporting through `StructuredFieldError` exceptions that include position and context information. It also includes a compatibility layer and a command-line tool for validating and inspecting field values. Requires Python 3.10 or later. Use it for: - Parse HTTP Cache-Control, Accept, or other structured headers in web servers or HTTP clients - Validate and debug HTTP header values from the command line using the built-in CLI - Migrate existing code from deprecated libraries without rewriting imports via the compat layer - Build HTTP middleware or proxies that need to inspect and manipulate structured field values - Implement RFC 9651 compliance in custom HTTP protocol handlers ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Parses and serializes HTTP Structured Fields as defined by RFC 9651, converting between bytes and Python data structures (dictionaries, lists, items) with support for parameters and multiple field types. Yes. The package has low install friction, active maintenance, no known vulnerabilities, and a permissive MIT license. It fills a clear need for RFC 9651 compliance in Python HTTP tooling. The functional API is straightforward, error handling is detailed, and a compatibility layer eases migration. Suitable for production use in HTTP-related projects. ## Install pip install http-sf uv add http-sf poetry add http-sf ## Installing http-sf Before you install: Low friction: pure Python wheel with a single runtime dependency (typing_extensions). Actively maintained with recent release activity. License in practice: MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects with minimal obligations. Quickstart: pip install http-sf from http_sf import parse, ser result = parse(b"foo; a=1, bar; b=2", tltype="dictionary") output = ser(result) Requires Python 3.10 or later. Verify before relying: - Whether the library handles all edge cases in RFC 9651 or if certain field types remain unimplemented - Performance characteristics when parsing very large or deeply nested structured fields - Compatibility guarantees for the compat layer with all legacy use patterns ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 189.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags HTTP structured fields parsing, RFC 9651 implementation, HTTP header parsing, structured field serialization, HTTP field value parsing, dictionary list item parsing, HTTP header structured data, http-headers, rfc-9651, structured-fields [View on SkillFed](https://skillfed.io/packages/http-sf) · [View on PyPI](https://pypi.org/project/http-sf/)