enum#

caput.config.enum(options: list[Any], default: Any | None = None) Property[source]#

Property type that accepts only a set of possible values.

Parameters:
optionslist[Any]

List of allowed options.

defaultAny, optional

The optional default value.

Returns:
enumProperty

A property instance setup to validate an enum type.

Raises:
ValueError

If the default value is not part of the options.

Examples

Should be used like:

class Project:
    mode = enum(["forward", "backward"], default="forward")