Overview
Scald automates machine learning workflows through collaborative AI agents using the Actor-Critic pattern. The Actor agent explores data, engineers features, and trains models using six specialized MCP servers. The Critic agent evaluates solutions and provides targeted feedback for iterative refinement. This approach combines LLM-powered reasoning with gradient boosting algorithms (CatBoost, LightGBM, XGBoost) for both classification and regression tasks.
The system learns from past experiences through ChromaDB-based memory, enabling transfer learning across datasets. Each iteration produces executable code artifacts, comprehensive logs, and cost tracking for full reproducibility.
Installation
Install from PyPI:
pip install scald
Configure API credentials:
cp .env.example .env # Add your OpenRouter API key
For development work, clone the repository and install with all dependencies:
git clone https://github.com/dmitryglhf/scald.git
cd scald
uv sync
Usage
Run AutoML from the command line:
scald --train data/train.csv --test data/test.csv --target price --task-type regression
Or use the Python API:
from scald import Scald
import polars as pl
scald = Scald(max_iterations=5)
# Option 1: Using CSV file paths
predictions = await scald.run(
train="data/train.csv",
test="data/test.csv",
target="target_column",
task_type="classification",
)
# Option 2: Using DataFrames (Polars or Pandas)
train_df = pl.read_csv("data/train.csv")
test_df = pl.read_csv("data/test.csv")
predictions = await scald.run(
train=train_df,
test=test_df,
target="target_column",
task_type="classification",
)
The Actor-Critic loop executes for the specified iterations (default: 5), producing predictions and saving all artifacts to a timestamped session directory.
Architecture
The Actor agent has access to specialized MCP servers for data preview, statistical analysis, preprocessing, model training, file operations, and structured reasoning. The Critic agent reviews solutions without tool access to maintain evaluation objectivity. This separation enables independent verification while the memory system accumulates experience for improved performance on similar tasks.
Documentation
Full documentation available at dmitryglhf.github.io/scald
Serve locally:
uv sync --group docs
mkdocs serve
Development
Install development dependencies:
uv sync --group dev
Run tests and code quality checks:
just test # Run tests
just lint # Check code quality
just format # Format code
just --list # Show all commands
Requirements
Python 3.11+, uv package manager, and an API key from OpenRouter or compatible LLM provider.
Metadata
Release files for scald 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scald-0.1.3.tar.gz | 560.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scald-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 597.2 kB
Release files / scald-0.1.3.tar.gz
| Download URL | scald-0.1.3.tar.gz |
|---|---|
| Size | 560.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d100d7906dddf6cbb336afcd017f90d202a1546c052da857520f6ee12e2b5fc4
|
|
BLAKE2b-256 checksum How to use checksums |
ec2932f0efb3d8b879beaa0491e75b427e2a3791f87bf9ac7bc67814d5329539
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|
Release files / scald-0.1.3-py3-none-any.whl
| Download URL | scald-0.1.3-py3-none-any.whl |
|---|---|
| Size | 36.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d3d3e04421bcc73fca96280f31deb47423147246183e3c7221cf739bed7caf7
|
|
BLAKE2b-256 checksum How to use checksums |
be0c5b0019e627d329c236f36dd3a704971a06fd7fda33d1964711690ceb17a7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.3
|