Baya โ Modular ML Orchestration Framework for structured machine learning workflows.
Project description
Baya
๐ Baya โ Lightweight ML Orchestration & AutoML Framework
Baya is a structured Machine Learning orchestration framework for reproducible, automated, and production-ready ML workflows.
It combines:
AutoML
Natural language ML pipelines
Deterministic execution plans
Model deployment
Modular pipeline control
Designed for engineers, researchers, startups, and ML teams.
๐ Why Baya?
Modern ML pipelines are often:
Hard to reproduce
Poorly structured
Over-engineered
Difficult to deploy
Baya 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 baya 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 Baya 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)
Baya 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 baya
Dependencies:
- pandas
- numpy
- scikit-learn
- matplotlib
- pyyaml
๐งฉ API Layers
Baya supports three levels of abstraction.
1๏ธโฃ Simple API
from baya import quick_train
metrics = quick_train(
data="data.csv",
target="Target",
model="linear_regression"
)
2๏ธโฃ Fluent API
from baya import Baya
metrics = (
Baya("data.csv", target="Target")
.train("logistic_regression")
.evaluate()
)
3๏ธโฃ Advanced Orchestration API
from baya 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 baya 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/baya
cd baya
pip install -e .[dev]
pytest
๐ Positioning
Baya 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
Baya is built and maintained by Aditya Sarode, focused on scalable AI systems, ML architecture, and production-ready engineering. It combines:
AutoML
Natural language ML pipelines
Deterministic execution plans
Model deployment
Modular pipeline control
Designed for engineers, researchers, startups, and ML teams.
๐ Why Baya?
Modern ML pipelines are often:
Hard to reproduce
Poorly structured
Over-engineered
Difficult to deploy
Baya 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 baya 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 Baya 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)
Baya 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 baya
Dependencies:
pandas
numpy
scikit-learn
matplotlib
pyyaml
๐งฉ API Layers
Baya supports three levels of abstraction.
1๏ธโฃ Simple API
from baya import quick_train
metrics = quick_train( data="data.csv", target="Target", model="linear_regression" )
2๏ธโฃ Fluent API
from baya import Baya
metrics = ( Baya("data.csv", target="Target") .train("logistic_regression") .evaluate() )
3๏ธโฃ Advanced Orchestration API
from baya 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 baya 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/baya cd baya pip install -e .[dev] pytest
๐ Positioning
Baya 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
Baya 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.3.tar.gz.
File metadata
- Download URL: bayaml-0.1.3.tar.gz
- Upload date:
- Size: 49.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35ad0e14d9890141a30cb09e79edc3278381b533e945e890c25e33582a472c95
|
|
| MD5 |
e7e806f0e97a691460e6a3a156023a6d
|
|
| BLAKE2b-256 |
40f3e541fc5127ce0e9dead914a9ce5f8d41e51c0b7348c91814a23d0bbd9228
|
File details
Details for the file bayaml-0.1.3-py3-none-any.whl.
File metadata
- Download URL: bayaml-0.1.3-py3-none-any.whl
- Upload date:
- Size: 76.3 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 |
b2a2692549ee9e7951d0d88b573ccab453a9435aa91c3a726c68c80d6a4d2d10
|
|
| MD5 |
d1c051f0b4d49d0084cdef323139e104
|
|
| BLAKE2b-256 |
b6b69d39cec3dbafa45ee45faffebbea527461cadb0509f1c88f92fa8e437444
|