Bayaml is a lightweight ML & AI orchestration framework that automates data loading, preprocessing, model training, evaluation, and deployment through a deterministic, privacy-safe Auto Mode with built-in AutoML. Built and maintained by Aditya Sarode.
Project description
Bayaml
Bayaml is a lightweight ML & AI orchestration framework designed for structured, reproducible, and deployable machine learning workflows.
It features a deterministic execution engine and an intelligent Auto Mode (.auto()) that interprets structured instructions using rule-based NLP, without relying on external AI services, ensuring your data remains completely local and secure.
Auto Mode automatically manages data loading, safe preprocessing, task detection (classification or regression), structured pipeline construction, model training, evaluation, and deployment.
Bayaml includes built-in AutoML capabilities such as model comparison, cross-validation, leaderboard tracking, and best-model selection, all executed within reproducible, hash-based execution plans.
It provides structured APIs across simple, fluent, and advanced orchestration layers, along with natural-language-driven ML pipelines and export options including REST deployment and ONNX.
Bayaml is built to bring automation, structure, reproducibility, and privacy to modern ML systems.
It combines:
AutoML
Natural language ML pipelines
Deterministic execution plans
Model deployment
Modular pipeline control
Designed for engineers, researchers, startups, and ML teams.
🔎 Why Bayaml?
Modern ML pipelines are often:
Hard to reproduce
Poorly structured
Over-engineered
Difficult to deploy
Bayaml provides a clean orchestration layer on top of scikit-learn to make ML:
Reproducible
Structured
Deterministic
Deployable
Without sacrificing flexibility.
🧠 Natural Language ML (.auto())
Train models using structured instructions:
from bayaml import Project
p = Project()
result = p.auto(
"use https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv "
"treat tip as target "
"train regression model using linear regression"
)
print(result)
What Happens Automatically
Dataset loading (CSV, URL, DataFrame)
Target detection
Task detection (classification/regression)
Automatic categorical encoding
Safe pipeline ordering
Train-test split
Model training
Evaluation
Deterministic plan hashing
This makes Bayaml a lightweight AutoML orchestration engine.
📊 Execution Plan Preview
Preview generated pipelines before execution:
plan = p.auto(
"use data.csv treat price as target train regression model",
preview=True
)
for step in plan.steps:
print(step.name)
Bayaml builds a deterministic execution plan with hashing for reproducibility.
⚙️ Core Capabilities
✔ Structured ML Orchestration
Layered architecture wrapping a deterministic execution engine.
✔ Auto Encoding
Categorical columns are automatically encoded before model training.
✔ Auto Task Detection
Classification vs regression inferred automatically.
✔ AutoML Engine
Model comparison, leaderboard tracking, cross-validation.
✔ Model Deployment
Export models for production use.
🚀 Deployment
REST Deployment
p.auto(
"use data.csv treat target as target "
"train classification model "
"deploy as rest"
)
Generates a deployable REST bundle.
ONNX Export (Edge / C++ Ready)
p.auto(
"use data.csv treat target as target "
"train regression model "
"deploy in c++"
)
Exports model as ONNX.
📦 Installation
pip install bayaml
Dependencies:
- pandas
- numpy
- scikit-learn
- matplotlib
- pyyaml
🧩 API Layers
Bayaml supports three levels of abstraction.
1️⃣ Simple API
from bayaml import quick_train
metrics = quick_train(
data="data.csv",
target="Target",
model="linear_regression"
)
2️⃣ Fluent API
from bayaml import Bayaml
metrics = (
Baya("data.csv", target="Target")
.train("logistic_regression")
.evaluate()
)
3️⃣ Advanced Orchestration API
from bayaml import Project
project = Project()
project.data.load("data.csv")
project.data.set_target("Target")
project.split.train_test()
project.model.create("linear_regression")
project.model.train()
project.evaluate.evaluate_regressor()
Full modular control.
🤖 AutoML
from bayaml import automl
result = automl(
data="data.csv",
target="Target"
)
print(result["best_model"])
print(result["best_score"])
Includes:
- Cross-validation
- Model comparison
- Leaderboard generation
- Best model selection
- Run tracking
📤 Export System
Export metrics, predictions, and reports:
- CSV
- JSON
- Excel (XLSX)
- DOCX
- PNG / JPG
🏗 Architecture
Core Engine ↓ Execution Plan Builder ↓ Deterministic Plan Hashing ↓ Project API ↓ AutoML / CLI / Simple API
All APIs wrap the same deterministic engine.
No duplicated logic.
🔐 Reproducibility
Every .auto() run generates:
- Dataset hash
- Plan hash
- Ordered execution steps
Ensuring reproducible ML workflows.
👨💻 Developer Setup
git clone https://github.com/adityassarode/bayaml
cd bayaml
pip install -e .[dev]
pytest
📈 Positioning
Bayaml is ideal for:
- ML engineers building reproducible pipelines
- Startups needing fast ML deployment
- Data scientists wanting structured automation
- Teams needing deterministic ML workflows
📄 License
MIT License
👤 Author
Bayaml is built and maintained by Aditya Sarode, focused on scalable AI systems, ML architecture, and production-ready engineering.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bayaml-0.1.5.tar.gz.
File metadata
- Download URL: bayaml-0.1.5.tar.gz
- Upload date:
- Size: 52.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe9ae73695906f39c1fc8b5f7fa2bb2d0fab39966da84a4f1779d8b0fcf7e4dd
|
|
| MD5 |
f2adf6708dd48f3b54a0fd4989ef2f57
|
|
| BLAKE2b-256 |
3e93be18b2255264b2003a80d5dad05a1570209dad1bcf868eec9fac3d77519e
|
File details
Details for the file bayaml-0.1.5-py3-none-any.whl.
File metadata
- Download URL: bayaml-0.1.5-py3-none-any.whl
- Upload date:
- Size: 79.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9513d85567081ecbcb94498b178e459558d710eb164867141cc93586991298bc
|
|
| MD5 |
3f9f3c0abf7fbbf5a3360f4af352948c
|
|
| BLAKE2b-256 |
dc82eafbd9f12a05b2b6a5f17d474b080ee7522ada6144a80ff938223d5c038a
|