Skip to content

Best Practices ​

Reuse schemas ​

Define frequently used schemas as module constants. Use compile() on hot paths.

Validate at boundaries ​

Validate data as soon as it crosses a trust boundary: APIs, CLIs, config files, and external events.

Avoid leaking secrets ​

python
schema = {
    "api_key": v.str().secret(),
    "password": v.str().secret(),
}

Name complex callbacks ​

Keep lambdas short. Use named functions for complex .when() and .custom() callbacks so they can be tested.