Skip to content

Quick Start

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

Quick Start

CLI Workflow (Zero Code)

# 1. Scaffold a project
scomp-link init my_project
cd my_project

# 2. Profile your data
scomp-link quality --data data/train.csv --output reports/quality.html

# 3. Engineer features
scomp-link engineer --data data/train.csv --target price \
  --interactions --log-transform --output data/features.csv

# 4. Train a model
scomp-link run --data data/features.csv --target price --task regression \
  --save-artifact models/price_model.scomp --output reports/results.json

# 5. Explain the model
scomp-link explain --artifact models/price_model.scomp --data data/features.csv

# 6. Generate evaluation report
scomp-link report --artifact models/price_model.scomp --data data/test.csv \
  --output reports/evaluation.html

# 7. Predict on new data
scomp-link predict --artifact models/price_model.scomp --data data/new.csv \
  --output predictions.csv

# 8. Monitor for drift
scomp-link drift --reference data/train.csv --current data/production.csv

Python API Workflow

from scomp_link import (
    ScompLinkPipeline, ScompArtifact, FeatureEngineer,
    ShapExplainer, DriftDetector, set_verbosity
)
import pandas as pd

set_verbosity("info")  # "silent" | "warning" | "info" | "debug"

# Load data
df = pd.read_csv("train.csv")

# Feature engineering
fe = FeatureEngineer(interactions=True, log_transform=True)
df_eng = fe.fit_transform(df.drop(columns=['target']), df['target'])
df_eng['target'] = df['target'].values

# Train
pipe = ScompLinkPipeline("Price Prediction")
pipe.set_objectives(["Minimize RMSE"])
pipe.import_and_clean_data(df_eng)
pipe.select_variables(target_col='target')
pipe.choose_model("numerical_prediction")
results = pipe.run_pipeline(task_type="regression")

# Save
artifact = ScompArtifact()
artifact.set_model(pipe.model)
artifact.set_config(task_type='regression', target_col='target')
artifact.set_metrics(results['metrics'])
artifact.set_feature_schema(df_eng.drop(columns=['target']))
artifact.set_sample_data(df_eng.drop(columns=['target']))
artifact.save("price_model.scomp")

# Explain
shap = ShapExplainer(pipe.model, df_eng.drop(columns=['target'])[:100])
shap.explain(df_eng.drop(columns=['target'])[:50])
print(shap.feature_importance())

Project Structure After scomp-link init

my_project/
├── data/           # Input datasets (CSV, Parquet)
├── models/         # Saved .scomp pipeline artifacts
├── reports/        # Generated HTML reports
├── pipeline.py     # Main script (edit target/task)
├── config.yaml     # Project configuration
├── .gitignore
└── README.md

Clone this wiki locally