Source code for feathr.utils.feature_printer

from pprint import pprint
from typing import Union, List

from feathr.definition.anchor import FeatureAnchor
from feathr.definition.query_feature_list import FeatureQuery
from feathr.definition.materialization_settings import MaterializationSettings

[docs]class FeaturePrinter: """The class for pretty-printing features"""
[docs] @staticmethod def pretty_print_anchors(anchor_list: List[FeatureAnchor]) -> None: """Pretty print features Args: feature_list: FeatureAnchor """ if all(isinstance(anchor, FeatureAnchor) for anchor in anchor_list): for anchor in anchor_list: pprint("%s is the achor of %s" % \ (anchor.name, [feature.name for feature in anchor.features])) else: raise TypeError("anchor_list must be FeatureAnchor or List[FeatureAnchor]")
[docs] @staticmethod def pretty_print_feature_query(feature_query: FeatureQuery) -> None: """Pretty print feature query Args: feature_query: feature query """ if isinstance(feature_query, FeatureQuery): print("Features in feature_query: %s" % feature_query.feature_list) else: raise TypeError("feature_query must be FeatureQuery")
[docs] @staticmethod def pretty_print_materialize_features(settings: MaterializationSettings) -> None: """Pretty print feature query Args: feature_query: feature query """ if isinstance(settings, MaterializationSettings): print("Materialization features in settings: %s" % settings.feature_names) else: raise TypeError("settings must be MaterializationSettings")