Skip to content

Compressors

blake2signer.compressors

Compressors: classes that implement the CompressorInterface.

GzipCompressor

Bases: CompressorInterface

Gzip compressor.

Source code in blake2signer/compressors.py
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class GzipCompressor(CompressorInterface):
    """Gzip compressor."""

    @property
    def default_compression_level(self) -> int:
        """Get the default compression level."""
        return 9  # According to https://docs.python.org/3/library/gzip.html

    def compress(self, data: bytes, *, level: int) -> bytes:
        """Compress given data using gzip.

        Args:
            data: Data to compress.

        Keyword Args:
            level: Desired compression level adjusted for the compressor.

        Returns:
            Raw compressed data.
        """
        return gzip.compress(data, compresslevel=level)

    def decompress(self, data: bytes) -> bytes:
        """Decompress given compressed data compressed with gzip.

        Args:
            data: Compressed data to decompress.

        Returns:
            Original data.
        """
        return gzip.decompress(data)

default_compression_level: int property

Get the default compression level.

compress(data, *, level)

Compress given data using gzip.

Parameters:

Name Type Description Default
data bytes

Data to compress.

required

Other Parameters:

Name Type Description
level int

Desired compression level adjusted for the compressor.

Returns:

Type Description
bytes

Raw compressed data.

Source code in blake2signer/compressors.py
51
52
53
54
55
56
57
58
59
60
61
62
63
def compress(self, data: bytes, *, level: int) -> bytes:
    """Compress given data using gzip.

    Args:
        data: Data to compress.

    Keyword Args:
        level: Desired compression level adjusted for the compressor.

    Returns:
        Raw compressed data.
    """
    return gzip.compress(data, compresslevel=level)

decompress(data)

Decompress given compressed data compressed with gzip.

Parameters:

Name Type Description Default
data bytes

Compressed data to decompress.

required

Returns:

Type Description
bytes

Original data.

Source code in blake2signer/compressors.py
65
66
67
68
69
70
71
72
73
74
def decompress(self, data: bytes) -> bytes:
    """Decompress given compressed data compressed with gzip.

    Args:
        data: Compressed data to decompress.

    Returns:
        Original data.
    """
    return gzip.decompress(data)

ZlibCompressor

Bases: CompressorInterface

Zlib compressor.

Source code in blake2signer/compressors.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class ZlibCompressor(CompressorInterface):
    """Zlib compressor."""

    @property
    def default_compression_level(self) -> int:
        """Get the default compression level."""
        return zlib.Z_DEFAULT_COMPRESSION

    def compress(self, data: bytes, *, level: int) -> bytes:
        """Compress given data using zlib.

        Args:
            data: Data to compress.

        Keyword Args:
            level: Desired compression level adjusted for the compressor.

        Returns:
            Raw compressed data.
        """
        return zlib.compress(data, level=level)

    def decompress(self, data: bytes) -> bytes:
        """Decompress given compressed data compressed with zlib.

        Args:
            data: Compressed data to decompress.

        Returns:
            Original data.
        """
        return zlib.decompress(data)

default_compression_level: int property

Get the default compression level.

compress(data, *, level)

Compress given data using zlib.

Parameters:

Name Type Description Default
data bytes

Data to compress.

required

Other Parameters:

Name Type Description
level int

Desired compression level adjusted for the compressor.

Returns:

Type Description
bytes

Raw compressed data.

Source code in blake2signer/compressors.py
17
18
19
20
21
22
23
24
25
26
27
28
29
def compress(self, data: bytes, *, level: int) -> bytes:
    """Compress given data using zlib.

    Args:
        data: Data to compress.

    Keyword Args:
        level: Desired compression level adjusted for the compressor.

    Returns:
        Raw compressed data.
    """
    return zlib.compress(data, level=level)

decompress(data)

Decompress given compressed data compressed with zlib.

Parameters:

Name Type Description Default
data bytes

Compressed data to decompress.

required

Returns:

Type Description
bytes

Original data.

Source code in blake2signer/compressors.py
31
32
33
34
35
36
37
38
39
40
def decompress(self, data: bytes) -> bytes:
    """Decompress given compressed data compressed with zlib.

    Args:
        data: Compressed data to decompress.

    Returns:
        Original data.
    """
    return zlib.decompress(data)