{"categories":[{"label":"Cryptography","url":"https://skillfed.io/packages/category/security-cryptography"},{"label":"JSON","url":"https://skillfed.io/packages/category/file-formats-json"}],"enrichment":{"capability":"Implements RFC 8785 (JSON Canonicalization Scheme) to produce deterministic, byte-for-byte identical JSON serialization regardless of input order or representation.","skillfed_tags":["json-canonicalization","cryptography-adjacent","zero-dependencies"],"use_cases":["Sign JSON data cryptographically by canonicalizing it first to ensure signatures remain valid across systems.","Deduplicate JSON objects in a database or cache by comparing their canonical forms.","Verify that two JSON structures are logically identical despite differences in formatting or key order.","Build deterministic content hashes for JSON payloads in APIs or distributed systems.","Implement JWS (JSON Web Signature) or other standards that require canonical JSON representation."],"what_it_does":"rfc8785 is a pure-Python implementation of RFC 8785, the JSON Canonicalization Scheme (JCS), which produces a single canonical byte representation of JSON data. It takes any JSON-serializable Python object and outputs UTF-8-encoded bytes in a deterministic form: keys are sorted alphabetically, whitespace is minimized, and the output is always identical for logically equivalent inputs. This is essential for cryptographic operations, digital signatures, and any scenario where you need byte-for-byte reproducible JSON.\n\nThe package has zero runtime dependencies and works with Python 3.8 or later. It provides two main APIs: `dumps()` for in-memory serialization and `dump()` for writing directly to a file-like object. All serialization failures raise `CanonicalizationError`. The implementation differs from Andrew Rundgren's reference implementation in three ways: it requires explicit string conversion for non-string dictionary keys, provides no pretty-printing options, and always outputs minimally encoded UTF-8 bytes.","worth_installing":"Yes. The package solves a specific, well-defined problem (RFC 8785 compliance) with zero dependencies, active maintenance, no known vulnerabilities, and permissive licensing. Install it if you need deterministic JSON serialization for cryptography, signatures, or any use case where byte-for-byte reproducibility matters."},"id":"rfc8785","links":{"html":"https://skillfed.io/packages/rfc8785","md":"https://skillfed.io/packages/rfc8785.md","pypi":"https://pypi.org/project/rfc8785/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2024-09-27","license_spdx":null,"license_treatment":"permissive","name":"rfc8785","python_support":"supports_current","summary":"A pure-Python implementation of RFC 8785 (JSON Canonicalization Scheme)"},"popularity":{"monthly_downloads":2479670,"position":3045,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.1.4"}
