from dataclasses import dataclass from pathlib import Path @dataclass(frozen=True) class DataIngestionConfig: root_dir: Path source_url: str local_data_file: Path unzip_dir: Path @dataclass(frozen=True) class DataValidationConfig: root_dir: Path data_dir: Path status_file: Path schema_file: Path @dataclass(frozen=True) class DataTransformationConfig: root_dir: Path data_path: Path train_path: Path test_path: Path test_size: float random_state: int @dataclass(frozen=True) class FeatureEngineeringConfig: root_dir: Path train_path: Path test_path: Path output_train_path: Path output_test_path: Path @dataclass(frozen=True) class ModelTrainerConfig: root_dir: Path train_data_path: Path test_data_path: Path model_path: Path target_column: str automl_library: str @dataclass(frozen=True) class ModelEvaluationConfig: root_dir: Path model_path: Path test_data_path: Path metrics_file: Path target_column: str automl_library: str @dataclass(frozen=True) class ModelPusherConfig: root_dir: Path model_path: Path model_registry_path: Path