from dataclasses import dataclass from pathlib import Path from typing import Dict, Any @dataclass class DataIngestionArtifact: data_file_path: Path is_ingested: bool message: str @dataclass class DataValidationArtifact: validation_status: bool message: str schema_file_path: Path @dataclass class DataTransformationArtifact: train_file_path: Path test_file_path: Path is_transformed: bool message: str @dataclass class FeatureEngineeringArtifact: train_features_path: Path test_features_path: Path is_engineered: bool message: str @dataclass class ModelTrainerArtifact: model_path: Path is_trained: bool message: str train_metrics: Dict[str, float] @dataclass class ModelEvaluationArtifact: is_model_accepted: bool evaluation_metrics: Dict[str, float] message: str @dataclass class ModelPusherArtifact: pushed_model_path: str is_pushed: bool message: str