Module redvox.api1000.common.lz4
This module handles compression and decompression of API M data.
Expand source code
"""
This module handles compression and decompression of API M data.
"""
import lz4.frame
def compress(data: bytes, compression_level: int = 12) -> bytes:
"""
Compresses the provided data using the LZ4 frame protocol.
:param data: The bytes to compress.
:param compression_level: A value between 0 and 12 where 0 os faster but less compression and 12 is slower, but
provides more compression.
:return: Compressed bytes.
"""
return lz4.frame.compress(
data,
compression_level=compression_level,
return_bytearray=True,
block_linked=False,
)
def decompress(data: bytes) -> bytes:
"""
Decompresses the provided data using the LZ4 frame protocol.
:param data: Data to decompress.
:return: The decompressed bytes.
"""
return lz4.frame.decompress(data, True)
Functions
def compress(data: bytes, compression_level: int = 12) ‑> bytes
-
Compresses the provided data using the LZ4 frame protocol. :param data: The bytes to compress. :param compression_level: A value between 0 and 12 where 0 os faster but less compression and 12 is slower, but provides more compression. :return: Compressed bytes.
Expand source code
def compress(data: bytes, compression_level: int = 12) -> bytes: """ Compresses the provided data using the LZ4 frame protocol. :param data: The bytes to compress. :param compression_level: A value between 0 and 12 where 0 os faster but less compression and 12 is slower, but provides more compression. :return: Compressed bytes. """ return lz4.frame.compress( data, compression_level=compression_level, return_bytearray=True, block_linked=False, )
def decompress(data: bytes) ‑> bytes
-
Decompresses the provided data using the LZ4 frame protocol. :param data: Data to decompress. :return: The decompressed bytes.
Expand source code
def decompress(data: bytes) -> bytes: """ Decompresses the provided data using the LZ4 frame protocol. :param data: Data to decompress. :return: The decompressed bytes. """ return lz4.frame.decompress(data, True)