{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/10"}],"enrichment":{"capability":"Encodes Python objects to canonical JSON with sorted keys, minimal whitespace, and consistent escaping, ensuring identical output for the same input across runs.","skillfed_tags":["json-serialization","cryptography-adjacent","deterministic-output"],"use_cases":["Signing JSON data cryptographically: canonical form ensures signatures remain valid across different serialization libraries.","Deduplicating or caching JSON objects: identical input always produces identical bytes, enabling content-addressed storage.","Blockchain or ledger applications: deterministic encoding is critical for consensus and transaction verification.","API request/response logging: canonical form makes log entries comparable and reduces storage by eliminating whitespace.","Testing JSON-producing code: canonical output makes assertions on serialized data deterministic and independent of key order."],"what_it_does":"Canonicaljson produces deterministic JSON output by enforcing a canonical form: object keys are always sorted, whitespace is eliminated, and character escaping follows RFC 7159 with minimal sequences. This makes the encoded output identical every time for the same input, which is essential for cryptographic signing, content hashing, and any system where reproducible serialization matters.\n\nThe package wraps either simplejson (by default on CPython) or the standard library json module (on PyPy) and adds a preserialisation hook system to handle custom types. It requires Python 3.7 or newer and has no external runtime dependencies, making it lightweight to integrate into existing projects.","worth_installing":"Yes. Canonicaljson solves a real problem\u2014deterministic JSON serialization\u2014that the standard library does not address. It has no dependencies, low install friction, active maintenance, a permissive license, and no known vulnerabilities. Install it if your application requires reproducible JSON encoding for signing, hashing, or comparison; skip it if you only need standard JSON serialization."},"id":"canonicaljson","links":{"html":"https://skillfed.io/packages/canonicaljson","md":"https://skillfed.io/packages/canonicaljson.md","pypi":"https://pypi.org/project/canonicaljson/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2023-03-15","license_spdx":null,"license_treatment":"permissive","name":"canonicaljson","python_support":"supports_current","summary":"Canonical JSON"},"popularity":{"monthly_downloads":272563,"position":8208,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"2.0.0"}
