smpl_util.util.withify

smpl_util.util.withify(prefix='with_', sufix='', override=False)[source]

Decorator to add with_ methods to a class.

Examples

>>> from dataclasses import dataclass, field
>>> from typing import Optional
>>> @withify()
... @dataclass
... class A:
...     a : Optional[int] = field(default=0)
...     b : Optional[int] = field(default=0)
...     c : Optional[int] = field(default=0)
>>> a = A(0,0,0)
>>> a.with_a(1).with_b(2).with_c(3)
A(a=1, b=2, c=3)