mlm_insights.core.sdcs.interfaces package

Submodules

mlm_insights.core.sdcs.interfaces.shareable_dataset_component module

class mlm_insights.core.sdcs.interfaces.shareable_dataset_component.ShareableDatasetComponent

Bases: ABC

Abstract Base Class for Sharable dataset Component. These components will be shared across dataset metrics. The subclass must be annotated with @dataclass. All the state of SDC must be mergeable. Subclasses need to implement merge method to merge two SDC together.

By default, base class will use dataclass.asdict() to do serialization. In case base class has complex states that require custom serialization, They need to implement the Serializable interface.

Use create factory method and pass required config parameter instead of using constructor.

abstract compute(dataset: DataFrame, **kwargs: Any) None

Update the state of the SDC using input dataframe.

Parameters

datasetpd.DataFrame

Input dataframe.

abstract classmethod create(config: Dict[str, ConfigParameter] | None = None, **kwargs: Any) ShareableDatasetComponent

Factory Method to create an object. The configuration will be available in config.

Returns

ShareableDatasetComponent

An Instance of SDC.

classmethod do_deserialize(serialized_sdc: ShareableDatasetComponentMessage) ShareableDatasetComponent

Private method to deserialize the ShareableDatasetComponent from Protobuffer message.

Returns

ShareableDatasetComponent: Deserialized the protobuffer message to ShareableDatasetComponent.

do_serialize() ShareableDatasetComponentMessage

Private method to serialize the ShareableDatasetComponent

Returns

ShareableDatasetComponentMessage: Proto-Buffer Message for ShareableDatasetComponentMessage

classmethod get_name() str

Get the name of ShareableDatasetComponent, Optionally subclasses can override this method if custom name is required.

Returns

str: Name of ShareableDatasetComponent

abstract merge(other: ShareableDatasetComponent, **kwargs: Any) ShareableDatasetComponent

Merge the current SDC to other SDC of same type. The subclass must produce a new instance of SDC and not mutate the current one.

Parameters

otherShareableDatasetComponent

Other SDC that need be merged.

Returns

ShareableDatasetComponent

Must be a new instance of SDC, and should not mutate the current or other SDCs.