gigl.common.utils.compute.serialization.serialize_np#

Classes#

EncodedNdArray

dict() -> new empty dictionary

NumpyCoder

Base class for protocol classes.

Module Contents#

class gigl.common.utils.compute.serialization.serialize_np.EncodedNdArray[source]#

Bases: TypedDict

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

Initialize self. See help(type(self)) for accurate signature.

data: bytes[source]#
dtype: str[source]#
shape: Tuple[source]#
class gigl.common.utils.compute.serialization.serialize_np.NumpyCoder[source]#

Bases: gigl.common.utils.compute.serialization.coder.CoderProtocol[numpy.ndarray]

Base class for protocol classes.

Protocol classes are defined as:

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing), for example:

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:

class GenProto(Protocol[T]):
    def meth(self) -> T:
        ...
decode(byte_str)[source]#
Parameters:

byte_str (bytes)

Return type:

numpy.ndarray

encode(obj)[source]#
Parameters:

obj (numpy.ndarray)

Return type:

bytes