Skip to main content

From dataset to production ML system — in one command.

Project description

📦 ezyml 🚀

Version 2.0

From raw data to a deployable ML system — in one command.

License Python Versions Version

PyPI Downloads


🚀 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ezyml-2.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ezyml-2-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file ezyml-2.tar.gz.

File metadata

  • Download URL: ezyml-2.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ezyml-2.tar.gz
Algorithm Hash digest
SHA256 7b1e98893fbc349c88fa04ba26923b91dac81cec784a28cf16a545b90de4d44d
MD5 3ed2796c573001e8b1f201461ac1d107
BLAKE2b-256 651262cdc89e01ea5f68e1d3f3802cb6c8dee47b31a4d5fa2f0e1f7c8b24f2ea

See more details on using hashes here.

File details

Details for the file ezyml-2-py3-none-any.whl.

File metadata

  • Download URL: ezyml-2-py3-none-any.whl
  • Upload date:
  • Size: 25.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ezyml-2-py3-none-any.whl
Algorithm Hash digest
SHA256 6987a16ed9866939cc552e407d9e0c6d6bdc2b9bffa8a76888c84a9a55d60941
MD5 3b8c181dd44a0b265499bf3c92432378
BLAKE2b-256 96d0fa22b6bcbb9a23da011af03e42087185e3782bb18a4131a19ea37a73f833

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page