Skip to main content

Canonical JSON

Project description

Latest Version

Features

  • Encodes objects and arrays as RFC 7159 JSON.

  • Sorts object keys so that you get the same result each time.

  • Has no insignificant whitespace to make the output as small as possible.

  • Escapes only the characters that must be escaped, U+0000 to U+0019 / U+0022 / U+0056, to keep the output as small as possible.

  • Uses the shortest escape sequence for each escaped character.

  • Encodes the JSON as UTF-8.

  • Can encode frozendict immutable dictionaries.

Supports Python versions 3.7 and newer.

Installing

pip install canonicaljson

Using

To encode an object into the canonicaljson:

import canonicaljson
assert canonicaljson.encode_canonical_json({}) == b'{}'

There’s also an iterator version:

import canonicaljson
assert b''.join(canonicaljson.iterencode_canonical_json({})) == b'{}'

The underlying JSON implementation can be chosen with the following:

import json
import canonicaljson
canonicaljson.set_json_library(json)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

canonicaljson-1.6.3.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

canonicaljson-1.6.3-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file canonicaljson-1.6.3.tar.gz.

File metadata

  • Download URL: canonicaljson-1.6.3.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for canonicaljson-1.6.3.tar.gz
Algorithm Hash digest
SHA256 ca59760bc274a899a0da75809d6909ae43e5123381fd6ef040a44d1952c0b448
MD5 a668a68856f7c2d6fe96c622c9d91786
BLAKE2b-256 5c7a556bb0ee4ac1245cd7b610c3f05d132f6ba5b670e3c2a06fe60f2af450e1

See more details on using hashes here.

File details

Details for the file canonicaljson-1.6.3-py3-none-any.whl.

File metadata

File hashes

Hashes for canonicaljson-1.6.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6ba3cf1702fa3d209b3e915a4e9a3e4ef194f1e8fca189c1f0b7a2a7686a27e6
MD5 da73ecda3358b26f909df90916d32de2
BLAKE2b-256 e77aa82939369806faef2ab816c786afc3166f5c6036f235b4e172fb3bc0aee7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page