Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import numpy as np
import msgpack
from .abc import Codec
from .compat import ensure_contiguous_ndarray
class MsgPack(Codec):
"""Codec to encode data as msgpacked bytes. Useful for encoding an array of Python
objects.
.. versionchanged:: 0.6
The encoding format has been changed to include the array shape in the encoded
data, which ensures that all object arrays can be correctly encoded and decoded.
Parameters
----------
use_single_float : bool, optional
Use single precision float type for float.
use_bin_type : bool, optional
Use bin type introduced in msgpack spec 2.0 for bytes. It also enables str8 type
for unicode.
raw : bool, optional
If true, unpack msgpack raw to Python bytes. Otherwise, unpack to Python str
import numpy as np
from .abc import Codec
from .compat import ensure_ndarray, ndarray_copy
class FixedScaleOffset(Codec):
"""Simplified version of the scale-offset filter available in HDF5.
Applies the transformation `(x - offset) * scale` to all chunks. Results
are rounded to the nearest integer but are not packed according to the
minimum number of bits.
Parameters
----------
offset : float
Value to subtract from data.
scale : int
Value to multiply by data.
dtype : dtype
Data type to use for decoded data.
astype : dtype, optional
Data type to use for encoded data.
import zlib as _zlib
from .abc import Codec
from .compat import ndarray_copy, ensure_contiguous_ndarray
class Zlib(Codec):
"""Codec providing compression using zlib via the Python standard library.
Parameters
----------
level : int
Compression level.
"""
codec_id = 'zlib'
def __init__(self, level=1):
self.level = level
def encode(self, buf):
import math
import numpy as np
from .abc import Codec
from .compat import ensure_ndarray, ndarray_copy
class Quantize(Codec):
"""Lossy filter to reduce the precision of floating point data.
Parameters
----------
digits : int
Desired precision (number of decimal digits).
dtype : dtype
Data type to use for decoded data.
astype : dtype, optional
Data type to use for encoded data.
Examples
--------
>>> import numcodecs
>>> import numpy as np
>>> x = np.linspace(0, 1, 10, dtype='f8')
import gzip as _gzip
import io
from .abc import Codec
from .compat import ensure_bytes, ensure_contiguous_ndarray
class GZip(Codec):
"""Codec providing gzip compression using zlib via the Python standard library.
Parameters
----------
level : int
Compression level.
"""
codec_id = 'gzip'
def __init__(self, level=1):
self.level = level
def encode(self, buf):
try:
import lzma as _lzma
except ImportError: # pragma: no cover
try:
from backports import lzma as _lzma
except ImportError:
pass
if _lzma:
from .abc import Codec
from .compat import ndarray_copy, ensure_contiguous_ndarray
# noinspection PyShadowingBuiltins
class LZMA(Codec):
"""Codec providing compression using lzma via the Python standard
library.
Parameters
----------
format : integer, optional
One of the lzma format codes, e.g., ``lzma.FORMAT_XZ``.
check : integer, optional
One of the lzma check codes, e.g., ``lzma.CHECK_NONE``.
preset : integer, optional
An integer between 0 and 9 inclusive, specifying the compression
level.
filters : list, optional
A list of dictionaries specifying compression filters. If
filters are provided, 'preset' must be None.
import pickle
import numpy as np
from .abc import Codec
from .compat import ensure_contiguous_ndarray
class Pickle(Codec):
"""Codec to encode data as as pickled bytes. Useful for encoding an array of Python string
objects.
Parameters
----------
protocol : int, defaults to pickle.HIGHEST_PROTOCOL
The protocol used to pickle data.
Examples
--------
>>> import numcodecs as codecs
>>> import numpy as np
>>> x = np.array(['foo', 'bar', 'baz'], dtype='object')
>>> f = codecs.Pickle()
>>> f.decode(f.encode(x))
array(['foo', 'bar', 'baz'], dtype=object)
import json as _json
import textwrap
import numpy as np
from .abc import Codec
from .compat import ensure_text
class JSON(Codec):
"""Codec to encode data as JSON. Useful for encoding an array of Python objects.
.. versionchanged:: 0.6
The encoding format has been changed to include the array shape in the encoded
data, which ensures that all object arrays can be correctly encoded and decoded.
Examples
--------
>>> import numcodecs
>>> import numpy as np
>>> x = np.array(['foo', 'bar', 'baz'], dtype='object')
>>> codec = numcodecs.JSON()
>>> codec.decode(codec.encode(x))
array(['foo', 'bar', 'baz'], dtype=object)
See Also
import zlib
import numpy as np
from .abc import Codec
from .compat import ensure_contiguous_ndarray, ndarray_copy
class Checksum32(Codec):
checksum = None
def encode(self, buf):
arr = ensure_contiguous_ndarray(buf).view('u1')
checksum = self.checksum(arr) & 0xffffffff
enc = np.empty(arr.nbytes + 4, dtype='u1')
enc[:4].view('
import bz2 as _bz2
from numcodecs.abc import Codec
from numcodecs.compat import ndarray_copy, ensure_contiguous_ndarray
class BZ2(Codec):
"""Codec providing compression using bzip2 via the Python standard library.
Parameters
----------
level : int
Compression level.
"""
codec_id = 'bz2'
def __init__(self, level=1):
self.level = level
def encode(self, buf):