Blosc¶
-
class
numcodecs.blosc.Blosc¶ Codec providing compression using the Blosc meta-compressor.
Parameters: - cname : string, optional
A string naming one of the compression algorithms available within blosc, e.g., ‘zstd’, ‘blosclz’, ‘lz4’, ‘lz4hc’, ‘zlib’ or ‘snappy’.
- clevel : integer, optional
An integer between 0 and 9 specifying the compression level.
- shuffle : integer, optional
Either NOSHUFFLE (0), SHUFFLE (1), BITSHUFFLE (2) or AUTOSHUFFLE (-1). If -1 (default), bit-shuffle will be used for buffers with itemsize 1, and byte-shuffle will be used otherwise.
- blocksize : int
The requested size of the compressed blocks. If 0 (default), an automatic blocksize will be used.
See also
-
codec_id= 'blosc'¶
-
NOSHUFFLE= 0¶
-
SHUFFLE= 1¶
-
BITSHUFFLE= 2¶
-
AUTOSHUFFLE= -1¶
-
encode(self, buf)¶
-
decode(self, buf, out=None)¶
-
get_config()¶ Return a dictionary holding configuration parameters for this codec. Must include an ‘id’ field with the codec identifier. All values must be compatible with JSON encoding.
-
classmethod
from_config(config)¶ Instantiate codec from a configuration object.
-
decode_partial(self, buf, int start, int nitems, out=None)¶ Experimental
Helper functions¶
-
numcodecs.blosc.init()¶ Initialize the Blosc library environment.
-
numcodecs.blosc.destroy()¶ Destroy the Blosc library environment.
-
numcodecs.blosc.compname_to_compcode(cname)¶ Return the compressor code associated with the compressor name. If the compressor name is not recognized, or there is not support for it in this build, -1 is returned instead.
-
numcodecs.blosc.list_compressors()¶ Get a list of compressors supported in the current build.
-
numcodecs.blosc.get_nthreads()¶ Get the number of threads that Blosc uses internally for compression and decompression.
-
numcodecs.blosc.set_nthreads(int nthreads)¶ Set the number of threads that Blosc uses internally for compression and decompression.
-
numcodecs.blosc.cbuffer_sizes(source)¶ Return information about a compressed buffer, namely the number of uncompressed bytes (nbytes) and compressed (cbytes). It also returns the blocksize (which is used internally for doing the compression by blocks).
Returns: - nbytes : int
- cbytes : int
- blocksize : int
-
numcodecs.blosc.cbuffer_complib(source)¶ Return the name of the compression library used to compress source.
-
numcodecs.blosc.cbuffer_metainfo(source)¶ Return some meta-information about the compressed buffer in source, including the typesize, whether the shuffle or bit-shuffle filters were used, and the whether the buffer was memcpyed.
Returns: - typesize
- shuffle
- memcpyed
-
numcodecs.blosc.compress(source, char *cname, int clevel, int shuffle=SHUFFLE, int blocksize=AUTOBLOCKS)¶ Compress data.
Parameters: - source : bytes-like
Data to be compressed. Can be any object supporting the buffer protocol.
- cname : bytes
Name of compression library to use.
- clevel : int
Compression level.
- shuffle : int
Either NOSHUFFLE (0), SHUFFLE (1), BITSHUFFLE (2) or AUTOSHUFFLE (-1). If -1 (default), bit-shuffle will be used for buffers with itemsize 1, and byte-shuffle will be used otherwise.
- blocksize : int
The requested size of the compressed blocks. If 0, an automatic blocksize will be used.
Returns: - dest : bytes
Compressed data.
-
numcodecs.blosc.decompress(source, dest=None)¶ Decompress data.
Parameters: - source : bytes-like
Compressed data, including blosc header. Can be any object supporting the buffer protocol.
- dest : array-like, optional
Object to decompress into.
Returns: - dest : bytes
Object containing decompressed data.
-
numcodecs.blosc.decompress_partial(source, start, nitems, dest=None)¶ Experimental Decompress data of only a part of a buffer.
Parameters: - source : bytes-like
Compressed data, including blosc header. Can be any object supporting the buffer protocol.
- start: int,
Offset in item where we want to start decoding
- nitems: int
Number of items we want to decode
- dest : array-like, optional
Object to decompress into.
Returns: - dest : bytes
Object containing decompressed data.