Skip to content

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.