Skip to content

Utils

load_data

open_mlpipe.utils.io.load_data

load_data(path: str, **kwargs) -> pd.DataFrame

Auto-detect format and load data.

Source code in src\open_mlpipe\utils\io.py
def load_data(path: str, **kwargs) -> pd.DataFrame:
    """Auto-detect format and load data."""
    p = Path(path)

    if not p.exists():
        raise FileNotFoundError(f"Data file not found: {path}")

    suffix = p.suffix.lower()

    loaders = {
        ".csv": lambda: pd.read_csv(p, **kwargs),
        ".parquet": lambda: pd.read_parquet(p, **kwargs),
        ".xlsx": lambda: pd.read_excel(p, **kwargs),
        ".xls": lambda: pd.read_excel(p, **kwargs),
        ".json": lambda: pd.read_json(p, **kwargs),
    }

    if suffix not in loaders:
        raise ValueError(f"Unsupported file format: {suffix}. Supported: {list(loaders.keys())}")

    return loaders[suffix]()

save_dataframe

open_mlpipe.utils.io.save_dataframe

save_dataframe(df: DataFrame, path: str) -> None

Save DataFrame to file based on suffix.

Source code in src\open_mlpipe\utils\io.py
def save_dataframe(df: pd.DataFrame, path: str) -> None:
    """Save DataFrame to file based on suffix."""
    p = Path(path)
    p.parent.mkdir(parents=True, exist_ok=True)

    suffix = p.suffix.lower()
    if suffix == ".csv":
        df.to_csv(p, index=False)
    elif suffix == ".parquet":
        df.to_parquet(p, index=False)
    elif suffix in (".xlsx", ".xls"):
        df.to_excel(p, index=False)
    else:
        raise ValueError(f"Unsupported save format: {suffix}")

FeatureEngTransformer

open_mlpipe.utils.feature_eng_transformer.FeatureEngTransformer

FeatureEngTransformer()

Bases: BaseEstimator, TransformerMixin

Apply feature engineering at inference time.

Remembers which columns had missing values, which interactions to create, and which columns to log-transform — all fitted during training.

Source code in src\open_mlpipe\utils\feature_eng_transformer.py
def __init__(self):
    self.missing_cols_: list[str] = []
    self.interaction_pairs_: list[tuple[str, str]] = []
    self.log_cols_: list[str] = []
    self.columns_in_: list[str] = []

TaskType

open_mlpipe.utils.typing.TaskType

Bases: str, Enum

ColumnType

open_mlpipe.utils.typing.ColumnType

Bases: str, Enum