slipstream.interfaces

Slipstream interfaces.

Attributes

T

Key

Classes

ICodec

Base class for codecs.

SourceSinkMeta

Metaclass adds default source/sink functionalities.

ICache

Base class for cache implementations.

Module Contents

slipstream.interfaces.T[source]
type slipstream.interfaces.Key = str | int | float | bytes | bool[source]
class slipstream.interfaces.ICodec[source]

Base class for codecs.

abstract encode(obj: Any) bytes[source]

Serialize object.

abstract decode(s: bytes) object[source]

Deserialize object.

class slipstream.interfaces.SourceSinkMeta[source]

Bases: abc.ABCMeta

Metaclass adds default source/sink functionalities.

class slipstream.interfaces.ICache[source]

Base class for cache implementations.

>>> class MyCache(ICache):
...     def __init__(self):
...         self.db = {}
...
...     def __contains__(self, key: Key) -> bool:
...         return key in self.db
...
...     def __delitem__(self, key: Key) -> None:
...         del self.db[key]
...
...     def __getitem__(self, key: Key | list[Key]) -> Any:
...         return self.db.get(key, None)
...
...     def __setitem__(self, key: Key, val: Any) -> None:
...         self.db[key] = val
>>> cache = MyCache()
>>> cache['prize'] = '🏆'
>>> cache['prize']
'🏆'
>>> del cache['prize']
>>> 'prize' in cache
False