ezyml 2.0 is a major architectural upgrade. It is no longer just a trainer — it is a machine‑learning compiler.
- 🧠
ezyml compile– one command to generate models, metrics, APIs, demos, and infra - 🧩 Pipeline‑Driven Execution – YAML‑based pipelines with visual DAGs
- 🎛 User‑Controlled Artifacts – generate only what you ask for
- 📊 Auto‑EDA + Evaluator – dataset profiling, metrics, plots
- 🧪 Production‑Ready Demos – high‑quality Streamlit UI generation
- 📦 Deployment Tooling – FastAPI, Docker, Kubernetes YAML
- 🔍 Dataset Fingerprinting – reproducibility by design
ezyml removes boilerplate across the entire ML lifecycle:
dataset → training → evaluation → deployment → demo
All without forcing you into a framework lock‑in.
- Explicit over magic – nothing is generated unless you ask
- Beginner‑friendly, expert‑capable
- Composable, inspectable, debuggable
pip install ezyml==2.0.0Below are the most common ways users interact with ezyml — via the CLI or Python API.
ezyml train \
--data data.csv \
--target label \
--model random_forestThis trains a model and prints evaluation metrics.
Minimal (no pipeline, no extras):
ezyml compile \
--data heart.csv \
--target targetGenerates:
build/
├── model.pkl
└── metrics.json
ezyml compile \
--data heart.csv \
--target target \
--api \
--demo \
--docker \
--k8sEach flag enables a specific artifact:
--api→ FastAPI inference app--demo→ Interactive Streamlit demo--docker→ Dockerfile--k8s→ Kubernetes manifests
ezyml compile \
--pipeline pipeline.yaml \
--data heart.csv \
--target target \
--allezyml compile \
--pipeline pipeline.yaml \
--data data.csv \
--target labelDefault output (minimal):
build/
├── model.pkl
└── metrics.json
ezyml compile \
--pipeline pipeline.yaml \
--data data.csv \
--target label \
--api \
--demo \
--docker \
--k8ssteps:
trainer:
type: EZTrainer
params:
model: random_forest
target: labelYou can use ezyml programmatically without the CLI.
from ezyml.core import EZTrainer
trainer = EZTrainer(
data="heart.csv",
target="target",
model="random_forest"
)
trainer.train()
trainer.save_model("model.pkl")
trainer.save_report("metrics.json")import pandas as pd
from ezyml.core import EZTrainer
trainer = EZTrainer(data="heart.csv", target="target")
trainer.train()
X_new = pd.read_csv("new_samples.csv")
preds = trainer.predict(X_new)
print(preds)from ezyml.compiler.compile import compile_project
from ezyml.core import EZTrainer
trainer = EZTrainer(data="heart.csv", target="target")
trainer.train()
compile_project(
trainer=trainer,
schema={"age": "number", "chol": "number"},
api=True,
demo=True
)- Accuracy, F1, ROC‑AUC (classification)
- MAE, RMSE, R² (regression)
- Confusion matrix, ROC & PR curves
- Drift‑ready metric storage
| Layer | Supported |
|---|---|
| API | FastAPI |
| Demo | Streamlit |
| Container | Docker |
| Orchestration | Kubernetes |
| Task | Models |
|---|---|
| Classification | logistic_regression, random_forest, xgboost, svm, naive_bayes, gradient_boosting, extra_trees, knn |
| Regression | linear_regression, ridge, lasso, elasticnet, random_forest, xgboost, svr, gradient_boosting |
| Clustering | kmeans, dbscan, agglo |
| Dim Reduction | pca, tsne |
- Learner Mode (explain decisions)
- SHAP‑based explainability
- Model comparison dashboards
- Presets (
--preset production) - CI/CD & MLOps integrations
MIT License – View License
Built with ❤️ by Raktim Kalita GitHub: https://github.com/Rktim