summaryrefslogtreecommitdiff
path: root/kombu
diff options
context:
space:
mode:
authorOmer Katz <omer.drow@gmail.com>2019-01-09 20:11:27 +0200
committerOmer Katz <omer.drow@gmail.com>2019-01-11 13:03:39 +0200
commit760bd728d920797e73a40161397481ed92368976 (patch)
treed3d68d4df00c76f832169ec179e7d5ba59d4155e /kombu
parent8c88d9276a390c5abdf43247283feaab7841c2e7 (diff)
downloadkombu-zstd-compression.tar.gz
Added optional support for zstd compression.zstd-compression
Diffstat (limited to 'kombu')
-rw-r--r--kombu/compression.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/kombu/compression.py b/kombu/compression.py
index 0f1c43d2..2eeb34cc 100644
--- a/kombu/compression.py
+++ b/kombu/compression.py
@@ -100,3 +100,20 @@ if lzma: # pragma: no cover
register(lzma.compress,
lzma.decompress,
'application/x-lzma', aliases=['lzma', 'xz'])
+
+try:
+ import zstandard as zstd
+except ImportError: # pragma: no cover
+ pass
+else:
+ def zstd_compress(body):
+ c = zstd.ZstdCompressor()
+ return c.compress(body)
+
+ def zstd_decompress(body):
+ d = zstd.ZstdDecompressor()
+ return d.decompress(body)
+
+ register(zstd_compress,
+ zstd_decompress,
+ 'application/zstd', aliases=['zstd', 'zstandard'])