Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

hippo

Lightweight ML workflow engine: declarative preprocessing ▸ hyper-parameter optimisation ▸ experiment tracking

hippo logo

hippo brings together three everyday ML chores under one friendly roof:

What you need How hippo helps
Clean, consistent data Build declarative preprocessing pipelines with Sklearn primitives
Good hyper-parameters without the grind Run Optuna-powered Bayesian optimisation (TPE, CMA-ES, …)
Remember what actually worked Log parameters & metrics to a local SQLite DB with zero setup

Why hippo?

  • ⚡ Efficient – sensible defaults, parallel Optuna trials
  • 🛡️ Reliable – minimal dependencies, 100 % typed codebase
  • 🔌 Extensible – register your own models or transformations in a single line
  • 🐚 Simple CLI – hippo train config.yml is all you need

Installation

pip install hippo

Quick Start

from sklearn.datasets import load_breast_cancer
from hippo.data.preprocessing import build_pipeline
from hippo.models import get_model
from hippo.tuning import optimise
from optuna import Trial

# 1  Load toy data
data = load_breast_cancer(as_frame=True)
X, y = data.data, data.target

# 2  Preprocessing pipeline
pipe = build_pipeline(num_feats=X.columns.tolist(), cat_feats=[])

# 3  Objective builder for Optuna
def make_objective(trial: Trial):
    n_estimators = trial.suggest_int("n_estimators", 50, 400)
    max_depth = trial.suggest_int("max_depth", 3, 10)

    model = get_model("rf", n_estimators=n_estimators, max_depth=max_depth, random_state=0)

    def objective(trial_: Trial):
        from sklearn.model_selection import cross_val_score
        score = cross_val_score(model, pipe.fit_transform(X), y, cv=3).mean()
        return score
    return objective

study = optimise(make_objective, n_trials=50, direction="maximize")
print("Best accuracy:", study.best_value)

Or the same via CLI:

python -m hippo.cli train config.yml

config.yml example:

run_name: demo_rf
data:
  path: cancer.joblib         # joblib-dumped DataFrame
  target: target
  numerical: [mean radius, mean area, ...]
  categorical: []
model:
  name: rf
  params:
    n_estimators: 200

Metadata

Release files for hippo 0.1.0b2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hippo 0.1.0b2
File Size Uploaded
hippo-0.1.0b2.tar.gz 5.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hippo 0.1.0b2
File Interpreter ABI Platform
hippo-0.1.0b2-py3-none-any.whl Python 3 none any Details

Total release size: 14.1 kB

Release files / hippo-0.1.0b2.tar.gz

Download URL hippo-0.1.0b2.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
93a8aa2944b5615fd30478f22a4bb6969168dfffbcea2ff3a414fc007d345310
BLAKE2b-256 checksum
How to use checksums
24444e44479344a8b917409d3b174f7be257ce7c3140beb812c0d7cda9cf4fff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.13.3 Darwin/24.5.0

Release files / hippo-0.1.0b2-py3-none-any.whl

Download URL hippo-0.1.0b2-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
376714bcd67161e0b763041081260465396b344eea9a5c6221dbce7af1070fcb
BLAKE2b-256 checksum
How to use checksums
18fe8cf85adadbb0aa1b8e7b65cb687c6e9d1ee0cd3eac0a3f52166e8dde338a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.3 CPython/3.13.3 Darwin/24.5.0

Release history Release notifications | RSS feed

This release

0.1.0b2 This release

2 release files

0.1-dev

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page