File size: 398 Bytes
41e170e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import msgpack
import gzip
import base64


def compress_msgpack(data):
    packed = msgpack.packb(data)
    compressed = gzip.compress(packed)
    return base64.urlsafe_b64encode(compressed).decode('utf-8')


def decompress_msgpack(compressed_str):
    compressed = base64.urlsafe_b64decode(compressed_str)
    unpacked = gzip.decompress(compressed)
    return msgpack.unpackb(unpacked, raw=False)