Skip to content

Python API

Giacomo Saccaggi edited this page Jun 19, 2026 · 1 revision

Python API

Core Classes

Class Module Purpose
ScompLinkPipeline scomp_link.core End-to-end pipeline orchestrator
Preprocessor scomp_link.preprocessing Data cleaning (polars backend)
FeatureEngineer scomp_link.preprocessing Automated feature engineering
DataQualityReport scomp_link.preprocessing Data profiling + HTML report
ModelFactory scomp_link.models Decision-tree model selection
RegressorOptimizer scomp_link.models Grid search regression optimizer
ClassifierOptimizer scomp_link.models Grid search classification optimizer
EnsembleOptimizer scomp_link.models Voting/stacking ensembles
OptunaOptimizer scomp_link.models Bayesian hyperparameter optimization
HalvingSearchOptimizer scomp_link.models Successive halving grid search
EarlyStoppingCV scomp_link.models Patience-based iteration search
TimeSeriesForecaster scomp_link.models ARIMA/SARIMA/ETS forecasting
AnomalyDetector scomp_link.models Multi-method anomaly detection
TimeSeriesAnomalyDetector scomp_link.models Time series anomaly detection
Validator scomp_link.validation Metrics + HTML report
AdvancedCV scomp_link.validation LOOCV, Bootstrap
FairnessMetrics scomp_link.validation Bias and fairness evaluation
ShapExplainer scomp_link.explainability SHAP explanations
LimeExplainer scomp_link.explainability LIME explanations
DriftDetector scomp_link.monitoring PSI + KS drift detection
ScompArtifact scomp_link.persistence Pipeline serialization (.scomp)

Imports

# All main classes are importable from the top level
from scomp_link import (
    ScompLinkPipeline,
    Preprocessor,
    FeatureEngineer,
    DataQualityReport,
    ModelFactory,
    Validator,
    RegressorOptimizer,
    ClassifierOptimizer,
    AnomalyDetector,
    TimeSeriesAnomalyDetector,
    TimeSeriesForecaster,
    FairnessMetrics,
    ShapExplainer,
    LimeExplainer,
    DriftDetector,
    ScompArtifact,
    set_verbosity,
)

# Advanced tuning (not top-level)
from scomp_link.models.advanced_tuning import OptunaOptimizer, HalvingSearchOptimizer, EarlyStoppingCV

Logging Control

import scomp_link

scomp_link.set_verbosity("silent")   # no output at all
scomp_link.set_verbosity("warning")  # only warnings
scomp_link.set_verbosity("info")     # default (progress messages)
scomp_link.set_verbosity("debug")    # verbose debugging

External code can also access the logger directly:

import logging
logging.getLogger("scomp_link").setLevel(logging.WARNING)

Clone this wiki locally