aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex ter Weele <alex.ter.weele@gmail.com>2020-02-29 11:08:29 -0600
committerMarius Bakke <mbakke@fastmail.com>2020-04-02 20:55:15 +0200
commit77b32f61f99002966cd944e48e01f9da7537be9f (patch)
treee65ff5fdf654582e90b25fd322e0810f6d6cc77e
parentbc834c0f625dfe77e430f23c5a316129bbca5d9a (diff)
downloadpatches-77b32f61f99002966cd944e48e01f9da7537be9f.tar
patches-77b32f61f99002966cd944e48e01f9da7537be9f.tar.gz
gnu: Add python-canonicaljson.
* gnu/packages/python-xyz.scm (python-canonicaljson): New variable. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
-rw-r--r--gnu/packages/python-xyz.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 03f6b63e2b..d559496f92 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -18769,3 +18769,35 @@ replacement for dictionaries where immutability is desired.")
using “=” characters. However this conveys no benefit so many protocols
choose to use Base64 without the “=” padding.")
(license license:asl2.0)))
+
+(define-public python-canonicaljson
+ (package
+ (name "python-canonicaljson")
+ (version "1.1.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "canonicaljson" version))
+ (sha256
+ (base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)
+ ("python-frozendict" ,python-frozendict)
+ ("python-simplejson" ,python-simplejson)))
+ (home-page "https://github.com/matrix-org/python-canonicaljson")
+ (synopsis "Canonical JSON")
+ (description
+ "Deterministically encode JSON.
+
+@itemize
+@item Encodes objects and arrays as RFC 7159 JSON.
+@item Sorts object keys so that you get the same result each time.
+@item Has no insignificant whitespace to make the output as small as possible.
+@item 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.
+@item Uses the shortest escape sequence for each escaped character.
+@item Encodes the JSON as UTF-8.
+@item Can encode frozendict immutable dictionaries.
+@end itemize")
+ (license license:asl2.0)))