nannyml.runner module
Used as an access point to start using NannyML in its most simple form.
- class nannyml.runner.CalculatorFactory[source]
Bases:
object
A factory class that produces Metric instances based on a given magic string or a metric specification.
- classmethod register(name: str, calculator_type: Union[Type[nannyml._typing.Calculator], Type[nannyml._typing.Estimator]])[source]
- registry: Dict[str, Type] = {'cbpe': <class 'nannyml.performance_estimation.confidence_based.cbpe.CBPE'>, 'dle': <class 'nannyml.performance_estimation.direct_loss_estimation.dle.DLE'>, 'missing_values': <class 'nannyml.data_quality.missing.calculator.MissingValuesCalculator'>, 'multivariate_drift': <class 'nannyml.drift.multivariate.data_reconstruction.calculator.DataReconstructionDriftCalculator'>, 'performance': <class 'nannyml.performance_calculation.calculator.PerformanceCalculator'>, 'univariate_drift': <class 'nannyml.drift.univariate.calculator.UnivariateDriftCalculator'>, 'unseen_values': <class 'nannyml.data_quality.unseen.calculator.UnseenValuesCalculator'>}
- class nannyml.runner.RunContext(current_step: int, total_steps: int, current_calculator: str, current_calculator_config: Optional[Dict[str, Any]] = None, current_calculator_success: bool = True, run_success: bool = True, result: Optional[nannyml._Result] = None)[source]
Bases:
object
- STEPS_PER_CALCULATOR = 3
- current_calculator: str
- current_calculator_config: Optional[Dict[str, Any]] = None
- current_calculator_success: bool = True
- current_step: int
- result: Optional[nannyml._typing.Result] = None
- run_success: bool = True
- total_steps: int
- class nannyml.runner.RunInput(reference_data: pandas.core.frame.DataFrame, analysis_data: pandas.core.frame.DataFrame, target_data: Optional[pandas.core.frame.DataFrame] = None, target_join_column: Optional[str] = None)[source]
Bases:
object
- analysis_data: pandas.core.frame.DataFrame
- reference_data: pandas.core.frame.DataFrame
- target_data: Optional[pandas.core.frame.DataFrame] = None
- target_join_column: Optional[str] = None
- class nannyml.runner.RunnerLogger(logger: logging.Logger, console: Optional[rich.console.Console] = None)[source]
Bases:
object
- nannyml.runner.get_output_writers(outputs_config: Optional[List[nannyml.config.WriterConfig]], logger: Optional[nannyml.runner.RunnerLogger] = None) List[Tuple[nannyml.io.base.Writer, Dict[str, Any]]] [source]
- nannyml.runner.get_store(store_config: Optional[nannyml.config.StoreConfig], logger: Optional[nannyml.runner.RunnerLogger] = None) Optional[nannyml.io.store.base.Store] [source]
- nannyml.runner.read_data(input_config: nannyml.config.InputDataConfig, logger: Optional[nannyml.runner.RunnerLogger] = None) pandas.core.frame.DataFrame [source]
- nannyml.runner.run(config: nannyml.config.Config, input: typing.Optional[nannyml.runner.RunInput] = None, logger: logging.Logger = <Logger nannyml.runner (WARNING)>, console: typing.Optional[rich.console.Console] = None, on_fit: typing.Optional[typing.Callable[[nannyml.runner.RunContext], typing.Any]] = None, on_calculate: typing.Optional[typing.Callable[[nannyml.runner.RunContext], typing.Any]] = None, on_write: typing.Optional[typing.Callable[[nannyml.runner.RunContext], typing.Any]] = None, on_calculator_complete: typing.Optional[typing.Callable[[nannyml.runner.RunContext], typing.Any]] = None, on_run_complete: typing.Optional[typing.Callable[[nannyml.runner.RunContext], typing.Any]] = None, on_fail: typing.Optional[typing.Callable[[nannyml.runner.RunContext, typing.Optional[Exception]], typing.Any]] = None)[source]
- nannyml.runner.run_context(config: nannyml.config.Config)[source]