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

Uploaded Source

Built Distribution

canonicaljson-1.6.2-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: canonicaljson-1.6.2.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for canonicaljson-1.6.2.tar.gz
Algorithm Hash digest
SHA256 af00be8ce9c589857df176bb94594f0d43b0e027f027a8d7cf8978fdb819024a
MD5 ec37c01d4226c58079b4e73d172dd71b
BLAKE2b-256 d05be7af6c1841b4861cf297821992fd2a771daa03df66bf419ebd1490284700

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for canonicaljson-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 015c0f1327a62a880620d03e3a2f8df98ff74747194043f1e0edf63a3e2951cd
MD5 b4d9254e7b6336988041ccda15972fad
BLAKE2b-256 17633f930fd014f9d485d406bdf101b13ac8dfd432ddd0be344248f11c39e640

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