🚀 AdamOps
AdamOps is a comprehensive MLOps library for end-to-end machine learning workflows. It provides a unified interface for data processing, model training, evaluation, deployment, and monitoring.
✨ Features
📊 Data Module (DataOps)
- Loaders: CSV, Excel, JSON, SQL, API, compressed files with auto-encoding detection
- Validators: Type validation, missing values, duplicates, shape, statistical checks
- Preprocessors: Missing value imputation, outlier handling, text cleaning
- Feature Engineering: Encoding, scaling, feature selection, auto feature generation
- Splitters: Train/test, time-series, K-Fold, stratified splitting
🤖 Model Module (ModelOps)
- Regression: Ridge, Lasso, ElasticNet, XGBoost, LightGBM
- Classification: Decision Tree, Gradient Boosting, XGBoost, LightGBM, Naive Bayes, KNN
- Clustering: K-Means, DBSCAN, Hierarchical, GMM
- Ensembles: Voting, Stacking, Blending, Weighted averaging
- AutoML: Model selection, hyperparameter tuning (Grid, Random, Bayesian)
📈 Evaluation Module
- Metrics: Classification, regression, and clustering metrics
- Visualization: Confusion matrices, ROC curves, feature importance plots
- Explainability: SHAP and LIME explanations
- Reports: HTML/PDF report generation
🚀 Deployment Module
- Exporters: ONNX, PMML, TFLite, CoreML
- APIs: FastAPI, Flask, Streamlit
- Containerization: Docker, Kubernetes
- Cloud: AWS, GCP, Azure
📡 Monitoring Module
- Drift Detection: Data and concept drift
- Performance Tracking: Model metrics over time
- Alerts: Performance degradation notifications
- Dashboards: Real-time monitoring dashboards
🔄 Pipelines Module
- Workflows: End-to-end ML workflows as DAGs
- Orchestration: Scheduling and pipeline execution
🛠️ Installation
Basic Installation
pip install adamops
Development Installation
git clone https://github.com/adamops/adamops.git
cd adamops
pip install -e ".[dev]"
Full Installation (all extras)
pip install adamops[all]
🚀 Quick Start
Data Loading
from adamops.data import loaders
# Load CSV with auto-encoding detection
df = loaders.load_csv("data.csv")
# Load from SQL database
df = loaders.load_sql("SELECT * FROM table", "sqlite:///database.db")
Data Validation
from adamops.data import validators
# Create validation report
report = validators.validate(df)
print(report.summary())
Data Preprocessing
from adamops.data import preprocessors
# Handle missing values
df = preprocessors.handle_missing(df, strategy="knn")
# Handle outliers
df = preprocessors.handle_outliers(df, method="iqr")
Feature Engineering
from adamops.data import feature_engineering
# Encode categorical variables
df = feature_engineering.encode(df, method="onehot", columns=["category"])
# Scale numerical features
df = feature_engineering.scale(df, method="standard", columns=["value"])
Model Training
from adamops.models import modelops
# Train a model
model = modelops.train(
X_train, y_train,
task="classification",
algorithm="xgboost"
)
# Predict
predictions = model.predict(X_test)
AutoML
from adamops.models import automl
# Run AutoML
best_model = automl.run(
X_train, y_train,
task="classification",
tuning="bayesian",
time_limit=3600
)
Evaluation
from adamops.evaluation import metrics
# Compute metrics
results = metrics.evaluate(y_true, y_pred, task="classification")
print(results)
CLI Usage
# Train a model
adamops train --data data.csv --target y --algorithm xgboost
# Evaluate a model
adamops evaluate --model model.pkl --data test.csv
# Deploy as API
adamops deploy --model model.pkl --type api --port 8000
📁 Project Structure
adamops/
├── adamops/
│ ├── __init__.py
│ ├── cli.py
│ ├── data/
│ │ ├── loaders.py
│ │ ├── validators.py
│ │ ├── preprocessors.py
│ │ ├── feature_engineering.py
│ │ └── splitters.py
│ ├── models/
│ │ ├── modelops.py
│ │ ├── registry.py
│ │ ├── ensembles.py
│ │ └── automl.py
│ ├── evaluation/
│ │ ├── metrics.py
│ │ ├── visualization.py
│ │ ├── explainability.py
│ │ ├── comparison.py
│ │ └── reports.py
│ ├── deployment/
│ │ ├── exporters.py
│ │ ├── api.py
│ │ ├── containerize.py
│ │ └── cloud.py
│ ├── monitoring/
│ │ ├── drift.py
│ │ ├── performance.py
│ │ ├── alerts.py
│ │ └── dashboard.py
│ ├── pipelines/
│ │ ├── workflows.py
│ │ └── orchestrators.py
│ └── utils/
│ ├── config.py
│ ├── logging.py
│ └── helpers.py
├── tests/
├── examples/
├── docs/
├── setup.py
├── requirements.txt
└── README.md
📚 Documentation
Full documentation is available at https://adamops.readthedocs.io
🤝 Contributing
Contributions are welcome! Please see our Contributing Guide for details.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- scikit-learn team for their excellent ML library
- XGBoost and LightGBM teams for gradient boosting implementations
- SHAP and LIME teams for explainability tools
- The entire open-source ML community
Made with ❤️ by the AdamOps Team
Metadata
Release files for adamops 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adamops-0.1.1.tar.gz | 95.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adamops-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 203.1 kB
Release files / adamops-0.1.1.tar.gz
| Download URL | adamops-0.1.1.tar.gz |
|---|---|
| Size | 95.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
81ea1c6cf683e2f0c9a2206125c329cc2a5266babfacc4e1a760ee277e01610d
|
|
BLAKE2b-256 checksum How to use checksums |
4c4c2eacf41e0a7ff0d14b8215ddbdc27dd7d9c19fcad5ab4c816e92c303362e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Release files / adamops-0.1.1-py3-none-any.whl
| Download URL | adamops-0.1.1-py3-none-any.whl |
|---|---|
| Size | 107.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
40ccae277339fbece813f8cf700de44a093328b3ab748e66627c9d0c36a54e35
|
|
BLAKE2b-256 checksum How to use checksums |
503d51c2af26820e4372b6e6d0644fc7717940f05ffe1bea3f5e48ac73083403
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|