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:
-
name -
level -
description -
constraints
@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