Build typesafe validators automatically or explicitly -- or write your own. Combine them to build validators of arbitrary complexity. Koda Validate is async-friendly, pure Python, and 1.5x - 12x faster than Pydantic.
Docs: https://koda-validate.readthedocs.io/en/stable/
from typing import TypedDict
from koda_validate import *
# Explicit Validators
string_validator = StringValidator(MinLength(8), MaxLength(20))
list_string_validator = ListValidator(string_validator)
# Derived Validators
class Person(TypedDict):
name: str
hobbies: list[str]
person_validator = TypedDictValidator(Person)
There's much, much more... Check out the Docs.
Open an issue on GitHub please!