kaiju-config-validator is designed to work with kaiju-app library to validate
project configuration dictionary for a set of application service classes. It analyzes __init__
methods of services
to check the input data before creating an app object.
fastjsonschema library is used for validation.
With pip and python 3.12+:
pip3 install kaiju-config-validator
The configuration process is straightforward. Use the standard application configuration process as described in the kaiju-app documentation.
from kaiju_config_validator import ConfigValidator
from kaiju_app import Application, ApplicationLoader, Configurator
loader = ApplicationLoader()
loader.service_classes[...] = ...
config = Configurator().create_configuration([...], [...])
As soon as a project config dict is produced you can pass it to the validator method along with service classes
map and an application class. The validator will either raise a InvalidConfiguration
or return None
if everything
is fine.
ConfigValidator().validate_project_config(Application, loader.service_classes, config)