Skip to main content

A comprehensive MLOps library for end-to-end machine learning workflows

Project description

๐Ÿš€ AdamOps

Python Version License Version

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

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

adamops-0.1.1.tar.gz (95.5 kB view details)

Uploaded Source

Built Distribution

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

adamops-0.1.1-py3-none-any.whl (107.6 kB view details)

Uploaded Python 3

File details

Details for the file adamops-0.1.1.tar.gz.

File metadata

  • Download URL: adamops-0.1.1.tar.gz
  • Upload date:
  • Size: 95.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for adamops-0.1.1.tar.gz
Algorithm Hash digest
SHA256 81ea1c6cf683e2f0c9a2206125c329cc2a5266babfacc4e1a760ee277e01610d
MD5 9f2ecb7de35418da7bfb9d3459430ea8
BLAKE2b-256 4c4c2eacf41e0a7ff0d14b8215ddbdc27dd7d9c19fcad5ab4c816e92c303362e

See more details on using hashes here.

File details

Details for the file adamops-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: adamops-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 107.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for adamops-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 40ccae277339fbece813f8cf700de44a093328b3ab748e66627c9d0c36a54e35
MD5 3af257279882596c053421796767ab70
BLAKE2b-256 503d51c2af26820e4372b6e6d0644fc7717940f05ffe1bea3f5e48ac73083403

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