--- id: jcs version: "0.2.1" license: Apache-2.0 license_treatment: permissive maintenance: abandoned --- # jcs — JCS - JSON Canonicalization License: permissive · Maintenance: abandoned · Downloads: 1.5M/mo ## What it is and what it does JCS is a Python 3 implementation of RFC 8785 JSON canonicalization. It transforms JSON objects into a canonical form—a deterministic byte sequence that represents the same data structure identically every time, regardless of key order or whitespace. This is essential when you need to hash JSON data, verify digital signatures, or compare JSON structures byte-for-byte. The package has no runtime dependencies and installs cleanly. It supports Python 3.6.2 and later. However, it has been abandoned since April 2022 with no active maintenance, so while the core algorithm is stable, you should verify that the implementation meets your security and compatibility requirements before relying on it in production. Use it for: - Hashing JSON payloads to detect tampering or verify integrity in APIs and data pipelines. - Creating deterministic signatures for JSON documents in blockchain or cryptographic applications. - Comparing JSON structures for equality without being affected by formatting or key ordering. - Normalizing JSON before storing it in a content-addressable system or deduplication cache. - Implementing RFC 8785 compliance in systems that require standards-based JSON canonicalization. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Canonicalizes JSON according to RFC 8785, producing a deterministic byte representation suitable for hashing and digital signatures. Yes, if you need RFC 8785 compliant JSON canonicalization and can accept an abandoned package. The implementation is simple and has no dependencies, making it low-risk to integrate. However, verify that the algorithm meets your security requirements and test thoroughly, since there will be no upstream fixes for any future issues you discover. ## Install pip install jcs uv add jcs poetry add jcs ## Installing jcs Before you install: Low friction installation with no runtime dependencies. However, the package is abandoned—last release was 2022-04-10 and no commits since then. Use only if the RFC 8785 implementation is stable enough for your needs and you can maintain it yourself if issues arise. License in practice: Licensed under Apache-2.0 (permissive). You may use, modify, and distribute it freely in commercial and private projects, provided you include the license notice. Quickstart: pip install jcs import jcs data = jcs.canonicalize({"tag": 4}) Verify before relying: - Whether the RFC 8785 implementation handles all edge cases correctly for production use cases. - Whether abandonment affects compatibility with modern Python versions beyond those listed (3.7–3.10). ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: abandoned - Downloads: 1.5M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags json canonicalization, deterministic json serialization, rfc 8785 json, json hashing, canonical json format, json signature verification, deterministic json encoding, json-serialization, cryptography, deterministic-hashing [View on SkillFed](https://skillfed.io/packages/jcs) · [View on PyPI](https://pypi.org/project/jcs/)