PrettyRepr

Contents

PrettyRepr#

class brainstate.util.PrettyRepr[source]#

Interface for pretty representation of objects.

This abstract base class provides a framework for creating custom pretty representations of objects by yielding PrettyType and PrettyAttr instances.

Examples

>>> class MyObject(PrettyRepr):
...     def __init__(self, key, value):
...         self.key = key
...         self.value = value
...
...     def __pretty_repr__(self):
...         yield PrettyType(type='MyObject', start='{', end='}')
...         yield PrettyAttr('key', self.key)
...         yield PrettyAttr('value', self.value)
...
>>> obj = MyObject('foo', 42)
>>> print(obj)
MyObject{
  key=foo,
  value=42
}