betty.attrs.settable module

Settable attributes.

class betty.attrs.settable.SettableAttr

Bases: Attr, Generic

A settable object attribute.

default(default: Callable[[], SetT] | Callable[[OwnerT], SetT]) SettableAttr[OwnerT, GetT, SetT]

Create a new attribute that proxies this one, and sets a default value.

property optional: SettableAttr[OwnerT, GetT | None, SetT | None]

Return a new attribute like this one, but that also allows None.

setter(setter: Callable[[SetterSetT], SetT] | Callable[[OwnerT, SetterSetT], SetT], /) SettableAttr[OwnerT, GetT, SetterSetT]

Return a new attribute like this one, but with the given setter.