Engine¶
The engine module orchestrates suite execution, running checks against connected data sources and collecting results.
Check execution engine with optional parallelization.
Engine(config_path)
¶
High-level API for running Provero data quality checks.
Loads configuration from a YAML file or a dictionary and executes all suites, returning a flat list of check results.
Examples::
engine = Engine("provero.yaml")
results = engine.run()
engine = Engine.from_dict({
"source": {"type": "duckdb", "table": "orders"},
"checks": [{"not_null": "order_id"}],
})
results = engine.run()
config
property
¶
Return the parsed configuration.
from_dict(raw)
classmethod
¶
Create an Engine from an in-memory configuration dictionary.
run(*, optimize=True, parallel=False, max_workers=4)
¶
Execute all suites and return a flat list of check results.
run_suites(*, optimize=True, parallel=False, max_workers=4)
¶
Execute all suites and return a list of SuiteResult objects.
run_suite(suite, connector, optimize=True, parallel=False, max_workers=4)
¶
Execute all checks in a suite against a data source.
When optimize=True (default), batchable checks are compiled into a single SQL query. Non-batchable checks run individually after.
run_contract(contract, connector, sources=None)
¶
Execute contract validation against a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
contract
|
ContractConfig
|
The contract configuration to validate. |
required |
connector
|
Connector
|
The data source connector. |
required |
sources
|
dict | None
|
Optional source configurations for resolution. |
None
|
Returns:
| Type | Description |
|---|---|
ContractResult
|
ContractResult with validation details. |