Skip to content

utils

Schema utils.

Functions:

Name Description
extract_feature_from_exposed

Extract feature from exposed feature.

extract_base_feature_from_exposed

Extract feature from exposed feature.

extract_feature_from_exposed(exposed_feature: ExposedFeature | ExposedIndexMetadata) -> Feature | IndexMetadata #

Extract feature from exposed feature.

Source code in src/xpdeep/dataset/schema/utils.py
def extract_feature_from_exposed(  # noqa: PLR0911=7
    exposed_feature: ExposedFeature | ExposedIndexMetadata,
) -> Feature | IndexMetadata:
    """Extract feature from exposed feature."""
    match exposed_feature:
        case ExposedNumericalFeature():
            return NumericalFeature.from_exposed(exposed_feature)
        case ExposedCategoricalFeature():
            return CategoricalFeature.from_exposed(exposed_feature)
        case ExposedImage():
            return ImageFeature.from_exposed(exposed_feature)
        case ExposedMultivariateNumericalFeature():
            return MultivariateNumericalFeature.from_exposed(exposed_feature)
        case ExposedUnivariateTimeSeries():
            return UnivariateTimeSeries.from_exposed(exposed_feature)
        case ExposedMultivariateTimeSeries():
            return MultivariateTimeSeries.from_exposed(exposed_feature)
        case ExposedIndexMetadata():
            return IndexMetadata.from_exposed(exposed_feature)
        case _:
            msg = f"Unsupported feature: {exposed_feature}"
            raise TypeError(msg)

extract_base_feature_from_exposed(exposed_feature: ExposedFeature | ExposedBaseFeature) -> Feature | BaseFeature | IndexMetadata #

Extract feature from exposed feature.

Source code in src/xpdeep/dataset/schema/utils.py
def extract_base_feature_from_exposed(
    exposed_feature: ExposedFeature | ExposedBaseFeature,
) -> Feature | BaseFeature | IndexMetadata:
    """Extract feature from exposed feature."""
    if isinstance(exposed_feature, ExposedFeature | ExposedIndexMetadata):
        return extract_feature_from_exposed(exposed_feature)

    if isinstance(exposed_feature, ExposedBaseFeature):
        return BaseFeature.from_exposed(exposed_feature)

    msg = f"Unsupported feature: {exposed_feature}"  # type: ignore[unreachable]
    raise TypeError(msg)