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, )
def test_nonnull(): testfunc = dtype_in_set_validation_factory((int, float)) assert testfunc(NaN)[0] ntestfunc = nonnull(testfunc) assert not ntestfunc(NaN)[0]