Skip to main content

Canonical JSON

Project description

Latest Version https://img.shields.io/travis/matrix-org/python-canonicaljson.svg

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.5 and newer.

Installing

pip install canonicaljson

Using

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

The underlying JSON implementation can be choosen 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.2.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

canonicaljson-1.2.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: canonicaljson-1.2.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7

File hashes

Hashes for canonicaljson-1.2.0.tar.gz
Algorithm Hash digest
SHA256 99793988a301401c696c432d6636b6d6ef6ba0472ec923e67ec19ab31991d1ea
MD5 f66458525b8ebbae7588e71008e6fae8
BLAKE2b-256 41a71d1b9a013d186640d064b9ceac6b5b191bf4f35bc96e2a3456f60b07e664

See more details on using hashes here.

File details

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

File metadata

  • Download URL: canonicaljson-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.7

File hashes

Hashes for canonicaljson-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3fcec9c701a6d545cd65ecba371ad1d1c53af3a8018fe3309c3153e4b72e9cda
MD5 a88398466cc1cdc82420c0854d9c172d
BLAKE2b-256 ce9e6a04ffa759cd5d293b0f15c43aea6ce4fd58438135d8ae4eb79b1b119d41

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