Validate all kinds of structured data, with just Python!
Orwellian uses Python dataclass-es and descriptor-s to provide
a highly customisable framework for validation.
@dataclass
class choice:
opt: str = field(default=OneOf(["foo", "bar", "baz"]))
choice(opt="foo") # valid
choice(opt=3) # TypeError
choice(opt="fo") # ValueError