Skip to main content

🚀 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

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)

Source distribution for adamops 0.1.1
File Size Uploaded
adamops-0.1.1.tar.gz 95.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for adamops 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page