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.4.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: canonicaljson-1.6.4.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for canonicaljson-1.6.4.tar.gz
Algorithm Hash digest
SHA256 6c09b2119511f30eb1126cfcd973a10824e20f1cfd25039cde3d1218dd9c8d8f
MD5 3428bae3a5cfaf7a131de280c203c241
BLAKE2b-256 b807a4632a48f6ea1cbe09e9f0e905c166eff8c946cd4dee17c4202db76007c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: canonicaljson-1.6.4-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for canonicaljson-1.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 55d282853b4245dbcd953fe54c39b91571813d7c44e1dbf66e3c4f97ff134a48
MD5 c7a2fd30c3eb2cfab2aecce010036f48
BLAKE2b-256 c7b88714bbaed9f319c10826f0fe8d9c7b7189a27d4ba3cc76621a0e2adcaabc

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