Exemplo n.º 1
0
    ConstraintWithMetadataException,
    MultiAggregateConstraintWithMetadata,
    MultiColumnConstraintWithMetadata,
    StrictColumnsWithMetadata,
    all_unique_validator,
    column_range_validation_factory,
    dtype_in_set_validation_factory,
    nonnull,
)
from dagster_pandas.data_frame import create_structured_dataframe_type
from numpy import float64, int64
from pandas import DataFrame

from dagster import DagsterType, Output, OutputDefinition, execute_pipeline, pipeline, solid

dtype_is_num_validator = nonnull(
    dtype_in_set_validation_factory((int, float, int64, float64)))

in_range_validator = column_range_validation_factory(1,
                                                     3,
                                                     ignore_missing_vals=True)

column_validator = MultiColumnConstraintWithMetadata(
    "confirms values are numbers in a range",
    {
        'foo': [dtype_is_num_validator, in_range_validator],
        'bar': [dtype_is_num_validator]
    },
    ColumnWithMetadataException,
    raise_or_typecheck=False,
)
Exemplo n.º 2
0
def test_nonnull():
    testfunc = dtype_in_set_validation_factory((int, float))
    assert testfunc(NaN)[0]
    ntestfunc = nonnull(testfunc)
    assert not ntestfunc(NaN)[0]