Exemple #1
0
def register_integer_relations():
    relations = [
        TypeRelation(visions_integer, visions_generic, inferential=False),
        TypeRelation(
            visions_integer,
            visions_float,
            test_utils.coercion_equality_test(lambda s: s.astype(int)),
            inferential=True,
        ),
        TypeRelation(
            visions_integer,
            visions_float,
            test_utils.coercion_equality_test(lambda s: s.astype("Int64")),
            inferential=False,
        ),
        TypeRelation(
            visions_integer,
            visions_string,
            test_utils.coercion_test(lambda s: s.astype(int)),
            inferential=True,
        ),
        TypeRelation(
            visions_integer,
            visions_string,
            test_utils.coercion_test(
                lambda s: pd.to_numeric(s).astype("Int64")),
            inferential=True,
        ),
    ]

    return relations
Exemple #2
0
def register_integer_relations():
    relations = [
        IdentityRelation(visions_integer, visions_generic),
        InferenceRelation(
            visions_integer,
            visions_float,
            test_utils.coercion_equality_test(lambda s: s.astype(int)),
        ),
        InferenceRelation(
            visions_integer,
            visions_float,
            test_utils.coercion_equality_test(lambda s: s.astype("Int64")),
        ),
        InferenceRelation(
            visions_integer,
            visions_string,
            test_utils.coercion_test(lambda s: s.astype(int)),
        ),
        InferenceRelation(
            visions_integer,
            visions_string,
            test_utils.coercion_test(
                lambda s: pd.to_numeric(s).astype("Int64")),
        ),
    ]

    return relations
def _to_datetime(cls, func) -> InferenceRelation:
    return InferenceRelation(
        relationship=test_utils.coercion_test(func),
        transformer=func,
        related_type=String,
        type=cls,
    )
def _to_datetime(cls, func) -> InferenceRelation:
    return InferenceRelation(
        relationship=test_utils.coercion_test(lambda s: func(s.astype(str))),
        transformer=to_datetime,
        type=cls,
        related_type=Integer,
    )
def get_string_datetime_type_relation(func):
    return InferenceRelation(
        relationship=test_utils.coercion_test(func),
        transformer=func,
        related_type=visions_string,
        type=visions_datetime,
    )
def integer_to_datetime_year_month_day(cls):
    return InferenceRelation(
        relationship=test_utils.coercion_test(
            lambda s: to_datetime_year_month_day(s.astype(str))),
        transformer=to_datetime,
        type=visions_datetime,
        related_type=cls,
    )
Exemple #7
0
def _get_relations(cls) -> Sequence[TypeRelation]:
    from visions.types import Object, String

    relations = [
        IdentityRelation(cls, Object),
        InferenceRelation(cls,
                          String,
                          relationship=test_utils.coercion_test(to_ip),
                          transformer=to_ip),
    ]
    return relations
Exemple #8
0
def _get_relations(cls) -> Sequence[TypeRelation]:
    from visions.types import Generic, String

    relations = [
        IdentityRelation(cls, Generic),
        InferenceRelation(
            cls,
            String,
            relationship=test_utils.coercion_test(to_datetime),
            transformer=to_datetime,
        ),
    ]
    return relations
Exemple #9
0
def _get_relations(cls) -> Sequence[TypeRelation]:
    from visions.types import DateTime, Object

    relations = [
        IdentityRelation(cls, Object),
        InferenceRelation(
            cls,
            DateTime,
            relationship=test_utils.coercion_test(test_date),
            transformer=to_date,
        ),
    ]
    return relations
Exemple #10
0
def _get_relations() -> Sequence[TypeRelation]:
    from visions.core.implementations.types import visions_generic

    relations = [
        IdentityRelation(visions_datetime, visions_generic),
        InferenceRelation(
            visions_datetime,
            visions_string,
            relationship=test_utils.coercion_test(to_datetime),
            transformer=to_datetime,
        ),
    ]
    return relations
Exemple #11
0
def _get_relations() -> Sequence[TypeRelation]:
    from visions.core.implementations.types import visions_object, visions_string

    relations = [
        IdentityRelation(visions_ip, visions_object),
        InferenceRelation(
            visions_ip,
            visions_string,
            relationship=test_utils.coercion_test(to_ip),
            transformer=to_ip,
        ),
    ]
    return relations
Exemple #12
0
def _get_relations(cls) -> List[TypeRelation]:
    from visions.types import String, Generic, Float

    relations = [
        IdentityRelation(cls, Generic),
        InferenceRelation(cls,
                          Float,
                          relationship=float_is_int,
                          transformer=to_int),
        InferenceRelation(
            cls,
            String,
            relationship=test_utils.coercion_test(to_int),
            transformer=to_int,
        ),
    ]
    return relations
Exemple #13
0
def _get_relations(cls) -> List[TypeRelation]:
    from visions.core.implementations.types import (
        visions_string,
        visions_generic,
        visions_float,
    )

    relations = [
        IdentityRelation(cls, visions_generic),
        InferenceRelation(cls,
                          visions_float,
                          relationship=float_is_int,
                          transformer=to_int),
        InferenceRelation(
            cls,
            visions_string,
            relationship=test_utils.coercion_test(to_int),
            transformer=to_int,
        ),
    ]
    return relations
def string_is_ip(series, state: dict):
    return test_utils.coercion_test(lambda s: s.apply(ip_address))(series)
Exemple #15
0
def string_is_datetime(series: pd.Series, state: dict) -> bool:
    exceptions = [OverflowError, TypeError]
    return test_utils.coercion_test(partial(to_datetime, state=state),
                                    exceptions)(series)