graphix.repr_mixins module

Mixins for eval-friendly repr for dataclasses and Enum members.

class DataclassReprMixin[source]

Bases: object

Mixin for a concise, eval-friendly repr of dataclasses.

Compared to the default dataclass repr:
  • Class variables are omitted (dataclasses.fields only returns actual fields).

  • Fields whose values equal their defaults are omitted.

  • Field names are only shown when preceding fields have been omitted, ensuring positional listings when possible.

Use with @dataclass(repr=False) on the target class.

class EnumReprMixin[source]

Bases: object

Mixin to provide a concise, eval-friendly repr for Enum members.

Compared to the default <ClassName.MEMBER_NAME: value>, this mixin’s __repr__ returns ClassName.MEMBER_NAME, which can be evaluated in Python (assuming the enum class is in scope) to retrieve the same member.