I use namedtuple’s _asdict method.
However, it returns an OrderedDict which pprint won’t indent, so I convert it to a dict:
>>> from collections import namedtuple
>>> Busbar = namedtuple('Busbar', 'id name voltage')
>>> busbar = Busbar(id=102, name="FACTORY", voltage=21.8)
With pprint and dict:
>>> from pprint import pprint
>>> pprint(dict(busbar._asdict()))
{'id': 102,
'name': 'FACTORY',
'voltage': 21.8}