🚀 What’s New in v2.0
ezyml 2.0 is a major architectural upgrade. It is no longer just a trainer — it is a machine‑learning compiler.
🆕 Major Additions
- 🧠
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
🌟 Why ezyml?
ezyml removes boilerplate across the entire ML lifecycle:
dataset → training → evaluation → deployment → demo
All without forcing you into a framework lock‑in.
Core Philosophy
- Explicit over magic – nothing is generated unless you ask
- Beginner‑friendly, expert‑capable
- Composable, inspectable, debuggable
📦 Installation
pip install ezyml==2.0.0
🚀 CLI Quickstart
Below are the most common ways users interact with ezyml — via the CLI or Python API.
🧠 Train a Model (CLI – v1 compatible)
ezyml train \
--data data.csv \
--target label \
--model random_forest
This trains a model and prints evaluation metrics.
🧩 Compile an End-to-End ML System (CLI – v2.0)
Minimal (no pipeline, no extras):
ezyml compile \
--data heart.csv \
--target target
Generates:
build/
├── model.pkl
└── metrics.json
🎛 Compile With Explicit Outputs
ezyml compile \
--data heart.csv \
--target target \
--api \
--demo \
--docker \
--k8s
Each flag enables a specific artifact:
--api→ FastAPI inference app--demo→ Interactive Streamlit demo--docker→ Dockerfile--k8s→ Kubernetes manifests
🧩 Compile Using a YAML Pipeline (Advanced)
ezyml compile \
--pipeline pipeline.yaml \
--data heart.csv \
--target target \
--all
🧩 Compile a Full ML System (v2.0)
ezyml compile \
--pipeline pipeline.yaml \
--data data.csv \
--target label
Default output (minimal):
build/
├── model.pkl
└── metrics.json
🎛 User‑Controlled Outputs
ezyml compile \
--pipeline pipeline.yaml \
--data data.csv \
--target label \
--api \
--demo \
--docker \
--k8s
🧪 Pipeline Example (YAML)
steps:
trainer:
type: EZTrainer
params:
model: random_forest
target: label
🧠 Python API (Still Supported)
You can use ezyml programmatically without the CLI.
Basic Training
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")
Predictions in Python
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)
Using ezyml as a Library Component
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
)
📊 Evaluation & Analytics
- Accuracy, F1, ROC‑AUC (classification)
- MAE, RMSE, R² (regression)
- Confusion matrix, ROC & PR curves
- Drift‑ready metric storage
📦 Deployment Targets
| Layer | Supported |
|---|---|
| API | FastAPI |
| Demo | Streamlit |
| Container | Docker |
| Orchestration | Kubernetes |
🧰 Supported Models
| 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 |
🔮 Roadmap
- Learner Mode (explain decisions)
- SHAP‑based explainability
- Model comparison dashboards
- Presets (
--preset production) - CI/CD & MLOps integrations
📜 License
MIT License – View License
👨💻 Author
Built with ❤️ by Raktim Kalita GitHub: https://github.com/Rktim
Metadata
Release files for ezyml 2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ezyml-2.tar.gz | 24.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ezyml-2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.5 kB
Release files / ezyml-2.tar.gz
| Download URL | ezyml-2.tar.gz |
|---|---|
| Size | 24.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b1e98893fbc349c88fa04ba26923b91dac81cec784a28cf16a545b90de4d44d
|
|
BLAKE2b-256 checksum How to use checksums |
651262cdc89e01ea5f68e1d3f3802cb6c8dee47b31a4d5fa2f0e1f7c8b24f2ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / ezyml-2-py3-none-any.whl
| Download URL | ezyml-2-py3-none-any.whl |
|---|---|
| Size | 25.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6987a16ed9866939cc552e407d9e0c6d6bdc2b9bffa8a76888c84a9a55d60941
|
|
BLAKE2b-256 checksum How to use checksums |
96d0fa22b6bcbb9a23da011af03e42087185e3782bb18a4131a19ea37a73f833
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|