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 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.ymlis 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)
| File | Size | Uploaded | |
|---|---|---|---|
| hippo-0.1.0b2.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|