Checks & Builder API Reference

qualink.checks — Check and CheckBuilder classes.

from qualink.checks import Check, CheckBuilder, CheckResult, Level

qualink.checks.check

@dataclass

class CheckResult

Field Type Default
check Check required
status str required
constraint_results list[ConstraintResult] field(default_factory=list)

@dataclass

class Check

Field Type Default
_name str required
_level CheckLevel required
_description str required
_constraints list[Constraint] field(default_factory=list)

Properties:

@staticmethod builder(name: str) → CheckBuilder
async run(ctx: SessionContext, table_name: str) → CheckResult

class CheckBuilder(LoggingMixin)

Fluent builder for :class:`Check`.

CheckBuilder(name: str)
Param Type Default
name str
with_level(level: Level) → CheckBuilder
with_description(description: str) → CheckBuilder
add_constraint(constraint: Constraint) → CheckBuilder
is_complete(column: str, hint: str = "") → CheckBuilder
has_completeness(column: str, assertion: Assertion) → CheckBuilder
has_column(column: str, hint: str = "") → CheckBuilder
is_unique(hint: str = "", *columns: str) → CheckBuilder
is_primary_key(hint: str = "", *columns: str) → CheckBuilder
has_uniqueness(columns: list[str], assertion: Assertion, hint: str = "") → CheckBuilder
has_distinctness(columns: list[str], assertion: Assertion, hint: str = "") → CheckBuilder
has_unique_value_ratio(columns: list[str], assertion: Assertion, hint: str = "") → CheckBuilder
satisfies(predicate: str, name_label: str = "", assertion: Assertion | None = None, hint: str = "") → CheckBuilder
has_pattern(column: str, pattern: str, assertion: Assertion | None = None, hint: str = "") → CheckBuilder
contains_email(column: str, assertion: Assertion | None = None) → CheckBuilder
contains_url(column: str, assertion: Assertion | None = None) → CheckBuilder
contains_credit_card(column: str) → CheckBuilder
contains_ssn(column: str) → CheckBuilder
has_min(column: str, assertion: Assertion) → CheckBuilder
has_max(column: str, assertion: Assertion) → CheckBuilder
has_mean(column: str, assertion: Assertion) → CheckBuilder
has_sum(column: str, assertion: Assertion) → CheckBuilder
has_standard_deviation(column: str, assertion: Assertion) → CheckBuilder
has_min_length(column: str, assertion: Assertion, hint: str = "") → CheckBuilder
has_max_length(column: str, assertion: Assertion, hint: str = "") → CheckBuilder
has_approx_count_distinct(column: str, assertion: Assertion, hint: str = "") → CheckBuilder
has_approx_quantile(column: str, quantile: float, assertion: Assertion, hint: str = "") → CheckBuilder
has_size(assertion: Assertion) → CheckBuilder
has_column_count(assertion: Assertion) → CheckBuilder
custom_sql(expression: str, assertion: Assertion | None = None, hint: str = "") → CheckBuilder
has_correlation(column_a: str, column_b: str, assertion: Assertion, hint: str = "") → CheckBuilder
referential_integrity(child_table: str, child_column: str, parent_table: str, parent_column: str, assertion: Assertion, hint: str = "") → CheckBuilder
row_count_match(table_a: str, table_b: str, assertion: Assertion, hint: str = "") → CheckBuilder
schema_match(table_a: str, table_b: str, assertion: Assertion, hint: str = "") → CheckBuilder
build() → Check