Rules¶
Usage of any generic or custom:
from contessa import GT, SQL, NOT_NULL
rules = [{
"name": NOT_NULL,
"columns": ["a", "b", "c"],
}, {
"name": GT,
"value": 0,
"columns": ["a", "b", "c"],
"condition": "status IN ('closed', 'refunded')", # optional thingy in rules
}, {
"name": SQL,
"sql": "SELECT CASE WHEN <something-cool> THEN false ELSE true END FROM {{table_fullname}}",
"description": "more coolness",
# condition doesnt make sense here :)
}]
Tip
value can be another col, e.g. - {"name": NOT, "column": "src", "value": "dst"}
Check supported rules below.
Accuracy, Completeness and Conformity¶
-
class
contessa.rules.
NotNullRule
(name, column, description='True when data is null.', **kwargs)[source]¶ from contessa import NOT_NULL
-
class
contessa.rules.
GtRule
(name, column, value, description='True when data is greater than input value.', **kwargs)[source]¶ from contessa import GT
-
class
contessa.rules.
GteRule
(name, column, value, description='True when data is greater or even than input value.', **kwargs)[source]¶ from contessa import GTE
-
class
contessa.rules.
NotRule
(name, column, value, description='True when data is not input value.', **kwargs)[source]¶ from contessa import NOT
-
class
contessa.rules.
LtRule
(name, column, value, description='True when data is less than input value.', **kwargs)[source]¶ from contessa import LT
Custom Rules¶
Consistency¶
# comming soon