{"id":33235885,"url":"https://github.com/devsuthar-ai/mlops-pipeline-framework","last_synced_at":"2025-11-16T18:02:56.562Z","repository":{"id":323151310,"uuid":"1092187685","full_name":"devsuthar-ai/mlops-pipeline-framework","owner":"devsuthar-ai","description":"🔧 Production ML pipeline framework for model training, deployment, and monitoring. Features: MLflow, Airflow, FastAPI serving, Prometheus monitoring, Kubernetes deployment.","archived":false,"fork":false,"pushed_at":"2025-11-08T11:11:59.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-11-08T13:09:45.536Z","etag":null,"topics":["airflow","ci-cd","data-science","docker","fastapi","kubernetes","machine-learning","ml-pipeline","mlflow","mlops","model-deployment","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devsuthar-ai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-08T06:40:42.000Z","updated_at":"2025-11-08T11:12:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/devsuthar-ai/mlops-pipeline-framework","commit_stats":null,"previous_names":["devsuthar-ai/mlops-pipeline-framework"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/devsuthar-ai/mlops-pipeline-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsuthar-ai%2Fmlops-pipeline-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsuthar-ai%2Fmlops-pipeline-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsuthar-ai%2Fmlops-pipeline-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsuthar-ai%2Fmlops-pipeline-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devsuthar-ai","download_url":"https://codeload.github.com/devsuthar-ai/mlops-pipeline-framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devsuthar-ai%2Fmlops-pipeline-framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284750955,"owners_count":27057456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airflow","ci-cd","data-science","docker","fastapi","kubernetes","machine-learning","ml-pipeline","mlflow","mlops","model-deployment","python"],"created_at":"2025-11-16T18:01:23.806Z","updated_at":"2025-11-16T18:02:56.554Z","avatar_url":"https://github.com/devsuthar-ai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🔧 MLOps Pipeline Framework\n\n### *Production Machine Learning Operations Platform*\n\n[![Python](https://img.shields.io/badge/Python-3.11+-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)](https://www.python.org/)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.104+-009688?style=for-the-badge\u0026logo=fastapi\u0026logoColor=white)](https://fastapi.tiangolo.com/)\n[![MLflow](https://img.shields.io/badge/MLflow-2.8+-0194E2?style=for-the-badge\u0026logo=mlflow\u0026logoColor=white)](https://mlflow.org/)\n[![Kubernetes](https://img.shields.io/badge/Kubernetes-326CE5?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white)](https://kubernetes.io/)\n[![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white)](https://www.docker.com/)\n[![License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](LICENSE)\n\n**[Live Demo](#) • [Documentation](#) • [API Docs](#) • [Report Bug](../../issues) • [Request Feature](../../issues)**\n\n---\n\n### 🎯 *End-to-end ML pipeline orchestration for production deployments*\n\nBuilt with ❤️ by [Dev Suthar](https://github.com/devsuthar-ai) | ⭐ **Star us on GitHub!**\n\n\u003c/div\u003e\n\n---\n\n## 📋 Table of Contents\n\n- [✨ Features](#-features)\n- [🎬 Demo](#-demo)\n- [🏗️ Architecture](#️-architecture)\n- [🚀 Quick Start](#-quick-start)\n- [📖 Documentation](#-documentation)\n- [🔧 Pipeline Components](#-pipeline-components)\n- [🧪 Model Training](#-model-training)\n- [🚢 Model Deployment](#-model-deployment)\n- [📊 Monitoring](#-monitoring)\n- [🛠️ Tech Stack](#️-tech-stack)\n- [🤝 Contributing](#-contributing)\n- [📄 License](#-license)\n\n---\n\n## ✨ Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\n### 🎯 **Core Capabilities**\n- 📊 **Data Pipeline** - Automated ingestion \u0026 validation\n- 🤖 **Model Training** - Distributed training orchestration\n- 🎯 **Hyperparameter Tuning** - Automated optimization\n- 📈 **Experiment Tracking** - MLflow integration\n- 🚀 **Model Deployment** - One-click deployment\n- 📉 **Model Monitoring** - Real-time performance tracking\n\n\u003c/td\u003e\n\u003ctd\u003e\n\n### 🛠️ **Technical Excellence**\n- ☸️ **Kubernetes Native** - Auto-scaling \u0026 orchestration\n- 🔄 **CI/CD Integration** - Automated ML workflows\n- 📊 **Observability** - Prometheus + Grafana\n- 🧪 **A/B Testing** - Model comparison\n- 🔄 **Auto-Retraining** - Scheduled model updates\n- 📦 **Model Registry** - Version management\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 🎬 Demo\n\n\u003cdiv align=\"center\"\u003e\n\n### 🖼️ **Platform Screenshots**\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**📊 Pipeline Dashboard**\n![Pipeline](https://via.placeholder.com/500x300/667eea/ffffff?text=Pipeline+Orchestration)\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**📈 Model Tracking**\n![Training](https://via.placeholder.com/500x300/764ba2/ffffff?text=Model+Training)\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🚀 Deployment Manager**\n![Deploy](https://via.placeholder.com/500x300/f093fb/ffffff?text=Model+Deployment)\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**📉 Performance Monitoring**\n![Monitor](https://via.placeholder.com/500x300/4facfe/ffffff?text=Real-time+Monitoring)\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n---\n\n## 🏗️ Architecture\n\n```mermaid\ngraph TB\n    subgraph \"Data Layer\"\n        A[Data Sources] --\u003e B[Data Ingestion Service]\n        B --\u003e C[Data Validation]\n        C --\u003e D[(Feature Store)]\n    end\n    \n    subgraph \"Training Layer\"\n        D --\u003e E[Training Pipeline]\n        E --\u003e F[Hyperparameter Tuning]\n        F --\u003e G[Model Evaluation]\n        G --\u003e H[(Model Registry)]\n    end\n    \n    subgraph \"Serving Layer\"\n        H --\u003e I[Model Deployment]\n        I --\u003e J[A/B Testing]\n        J --\u003e K[Prediction Service]\n        K --\u003e L[Load Balancer]\n    end\n    \n    subgraph \"Monitoring Layer\"\n        K --\u003e M[Performance Monitor]\n        M --\u003e N[Drift Detection]\n        N --\u003e O[Alert System]\n        O --\u003e E\n    end\n    \n    subgraph \"Orchestration\"\n        P[Airflow] -.-\u003e E\n        P -.-\u003e I\n        P -.-\u003e M\n    end\n    \n    subgraph \"Observability\"\n        Q[Prometheus] --\u003e R[Grafana]\n        K --\u003e Q\n        M --\u003e Q\n    end\n    \n    style E fill:#667eea\n    style I fill:#764ba2\n    style M fill:#f093fb\n    style H fill:#4facfe\n```\n\n### 📐 **System Components**\n\n| Component | Technology | Purpose |\n|-----------|-----------|---------|\n| **Orchestration** | Airflow | Workflow management |\n| **Experiment Tracking** | MLflow | Model versioning |\n| **Model Serving** | FastAPI | High-performance API |\n| **Feature Store** | Feast | Feature management |\n| **Model Registry** | MLflow | Model storage |\n| **Container Runtime** | Docker | Containerization |\n| **Orchestration** | Kubernetes | Container orchestration |\n| **Monitoring** | Prometheus + Grafana | Metrics \u0026 visualization |\n| **Streaming** | Kafka | Real-time data |\n| **Storage** | MinIO | Model artifacts |\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n```bash\n# Required\n- Python 3.11+\n- Docker \u0026 Docker Compose\n- Kubernetes cluster (optional)\n\n# Optional for production\n- MLflow server\n- Airflow instance\n- Prometheus + Grafana\n```\n\n### ⚡ One-Command Setup\n\n```bash\n# Clone repository\ngit clone https://github.com/devsuthar-ai/mlops-pipeline-framework.git\ncd mlops-pipeline-framework\n\n# Start all services\ndocker-compose up -d\n\n# 🎉 Done! Access services:\n# API: http://localhost:8001\n# MLflow UI: http://localhost:5000\n# Airflow UI: http://localhost:8080\n# Grafana: http://localhost:3000\n```\n\n### 🐍 Local Development\n\n```bash\n# Create virtual environment\npython -m venv venv\nsource venv/bin/activate  # Windows: venv\\Scripts\\activate\n\n# Install dependencies\npip install -r requirements.txt\n\n# Start API server\npython src/main.py\n\n# In new terminal, start MLflow\nmlflow server --host 0.0.0.0 --port 5000\n\n# In new terminal, start Airflow\nairflow standalone\n```\n\n---\n\n## 📖 Documentation\n\n### 📚 **Complete Guides**\n\n- [🏗️ Architecture Overview](docs/ARCHITECTURE.md)\n- [📊 Data Pipeline Guide](docs/DATA_PIPELINE.md)\n- [🤖 Model Training](docs/TRAINING.md)\n- [🚀 Deployment Guide](docs/DEPLOYMENT.md)\n- [📈 Monitoring \u0026 Alerts](docs/MONITORING.md)\n- [🔧 Configuration](docs/CONFIGURATION.md)\n\n---\n\n## 🔧 Pipeline Components\n\n### 📊 **1. Data Ingestion Pipeline**\n\n```python\nfrom src.data.ingestion import DataPipeline\n\n# Initialize pipeline\npipeline = DataPipeline(\n    source=\"s3://my-bucket/data\",\n    destination=\"feature_store\",\n    validation_rules={\"schema\": \"v1.0\"}\n)\n\n# Run ingestion\nresult = pipeline.ingest()\nprint(f\"Ingested {result['rows']} rows\")\n```\n\n**Features:**\n- ✅ Multi-source support (S3, GCS, local, databases)\n- ✅ Schema validation\n- ✅ Data quality checks\n- ✅ Incremental loading\n- ✅ Error handling \u0026 retry logic\n\n---\n\n### 🤖 **2. Model Training Pipeline**\n\n```python\nfrom src.models.training import TrainingPipeline\n\n# Configure training\nconfig = {\n    \"model_type\": \"random_forest\",\n    \"hyperparameters\": {\n        \"n_estimators\": 100,\n        \"max_depth\": 10,\n        \"min_samples_split\": 5\n    },\n    \"training_data\": \"feature_store://train_v1\",\n    \"validation_split\": 0.2\n}\n\n# Initialize and run\npipeline = TrainingPipeline(config)\nmodel = pipeline.train()\n\n# Track with MLflow\npipeline.log_metrics({\n    \"accuracy\": 0.95,\n    \"f1_score\": 0.93,\n    \"training_time\": 120.5\n})\n```\n\n**Features:**\n- ✅ Distributed training (PyTorch, TensorFlow)\n- ✅ Automated hyperparameter tuning\n- ✅ Cross-validation\n- ✅ Early stopping\n- ✅ Checkpointing\n- ✅ MLflow integration\n\n---\n\n### 📈 **3. Model Evaluation**\n\n```python\nfrom src.models.evaluation import ModelEvaluator\n\n# Evaluate model\nevaluator = ModelEvaluator(model)\nmetrics = evaluator.evaluate(test_data)\n\nprint(f\"\"\"\nEvaluation Results:\n- Accuracy: {metrics['accuracy']:.3f}\n- Precision: {metrics['precision']:.3f}\n- Recall: {metrics['recall']:.3f}\n- F1 Score: {metrics['f1']:.3f}\n- AUC-ROC: {metrics['auc']:.3f}\n\"\"\")\n\n# Generate reports\nevaluator.generate_report(output_path=\"reports/\")\n```\n\n**Metrics Tracked:**\n- Accuracy, Precision, Recall, F1\n- ROC-AUC, PR-AUC\n- Confusion Matrix\n- Feature Importance\n- Prediction Distribution\n\n---\n\n### 🚀 **4. Model Deployment**\n\n```python\nfrom src.serving.deployment import ModelDeployer\n\n# Deploy model\ndeployer = ModelDeployer(\n    model_uri=\"models:/production/RandomForest/v3\",\n    environment=\"production\",\n    replicas=3,\n    resources={\n        \"cpu\": \"2\",\n        \"memory\": \"4Gi\"\n    }\n)\n\ndeployment = deployer.deploy()\nprint(f\"Deployed at: {deployment['endpoint']}\")\n\n# Test endpoint\nresponse = requests.post(\n    deployment['endpoint'],\n    json={\"features\": [1.2, 3.4, 5.6]}\n)\nprint(f\"Prediction: {response.json()['prediction']}\")\n```\n\n**Deployment Features:**\n- ✅ Rolling updates (zero downtime)\n- ✅ Canary deployments\n- ✅ A/B testing\n- ✅ Auto-scaling\n- ✅ Health checks\n- ✅ Load balancing\n\n---\n\n### 📊 **5. Monitoring \u0026 Alerting**\n\n```python\nfrom src.monitoring.monitor import ModelMonitor\n\n# Setup monitoring\nmonitor = ModelMonitor(\n    model_name=\"RandomForest\",\n    metrics=[\"accuracy\", \"latency\", \"throughput\"],\n    alert_thresholds={\n        \"accuracy_drop\": 0.05,\n        \"latency_p95\": 500  # ms\n    }\n)\n\n# Start monitoring\nmonitor.start()\n\n# View dashboard\nmonitor.show_dashboard()\n```\n\n**Monitored Metrics:**\n- Model performance (accuracy, F1, etc.)\n- Prediction latency (p50, p95, p99)\n- Throughput (predictions/sec)\n- Resource usage (CPU, memory)\n- Data drift detection\n- Concept drift detection\n\n---\n\n## 🧪 Model Training\n\n### Training Script Example\n\n```python\n# train.py\nimport mlflow\nfrom sklearn.ensemble import RandomForestClassifier\nfrom src.data import load_data\nfrom src.models import train_model, evaluate_model\n\n# Load data\nX_train, y_train, X_test, y_test = load_data()\n\n# Start MLflow run\nwith mlflow.start_run():\n    # Train model\n    model = RandomForestClassifier(\n        n_estimators=100,\n        max_depth=10,\n        random_state=42\n    )\n    model.fit(X_train, y_train)\n    \n    # Evaluate\n    metrics = evaluate_model(model, X_test, y_test)\n    \n    # Log to MLflow\n    mlflow.log_params({\n        \"n_estimators\": 100,\n        \"max_depth\": 10\n    })\n    mlflow.log_metrics(metrics)\n    mlflow.sklearn.log_model(model, \"model\")\n    \n    print(f\"Model trained! Accuracy: {metrics['accuracy']:.3f}\")\n```\n\n### Run Training\n\n```bash\n# Local training\npython train.py\n\n# Distributed training\npython -m torch.distributed.launch train_distributed.py\n\n# With Airflow\nairflow dags trigger training_pipeline\n```\n\n---\n\n## 🚢 Model Deployment\n\n### Deployment Configuration\n\n```yaml\n# deployment.yaml\napiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: ml-model-serving\nspec:\n  replicas: 3\n  selector:\n    matchLabels:\n      app: ml-model\n  template:\n    metadata:\n      labels:\n        app: ml-model\n    spec:\n      containers:\n      - name: model-server\n        image: ml-model:v1.0\n        ports:\n        - containerPort: 8001\n        resources:\n          requests:\n            memory: \"2Gi\"\n            cpu: \"1\"\n          limits:\n            memory: \"4Gi\"\n            cpu: \"2\"\n        env:\n        - name: MODEL_URI\n          value: \"models:/production/latest\"\n```\n\n### Deploy to Kubernetes\n\n```bash\n# Apply deployment\nkubectl apply -f deployment.yaml\n\n# Check status\nkubectl get pods -l app=ml-model\n\n# Expose service\nkubectl expose deployment ml-model-serving --type=LoadBalancer --port=80 --target-port=8001\n\n# Get endpoint\nkubectl get svc ml-model-serving\n```\n\n---\n\n## 📊 Monitoring\n\n### Prometheus Metrics\n\n```python\nfrom prometheus_client import Counter, Histogram, Gauge\n\n# Define metrics\nprediction_counter = Counter(\n    'model_predictions_total',\n    'Total predictions made'\n)\n\nprediction_latency = Histogram(\n    'model_prediction_latency_seconds',\n    'Prediction latency'\n)\n\nmodel_accuracy = Gauge(\n    'model_accuracy',\n    'Current model accuracy'\n)\n\n# Use in code\n@prediction_latency.time()\ndef predict(features):\n    prediction_counter.inc()\n    result = model.predict(features)\n    return result\n```\n\n### Grafana Dashboards\n\nAccess dashboards at `http://localhost:3000`\n\n**Available Dashboards:**\n1. **Model Performance**\n   - Accuracy over time\n   - Precision/Recall trends\n   - Confusion matrix heatmap\n\n2. **System Metrics**\n   - CPU/Memory usage\n   - Request rate\n   - Error rate\n\n3. **Prediction Analytics**\n   - Latency distribution\n   - Throughput\n   - Feature distribution\n\n4. **Data Drift**\n   - Feature drift detection\n   - Concept drift alerts\n   - Distribution changes\n\n---\n\n## 🛠️ Tech Stack\n\n\u003cdiv align=\"center\"\u003e\n\n### **ML \u0026 Data**\n![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)\n![PyTorch](https://img.shields.io/badge/PyTorch-EE4C2C?style=for-the-badge\u0026logo=pytorch\u0026logoColor=white)\n![TensorFlow](https://img.shields.io/badge/TensorFlow-FF6F00?style=for-the-badge\u0026logo=tensorflow\u0026logoColor=white)\n![scikit-learn](https://img.shields.io/badge/scikit--learn-F7931E?style=for-the-badge\u0026logo=scikit-learn\u0026logoColor=white)\n\n### **MLOps Tools**\n![MLflow](https://img.shields.io/badge/MLflow-0194E2?style=for-the-badge\u0026logo=mlflow\u0026logoColor=white)\n![Airflow](https://img.shields.io/badge/Airflow-017CEE?style=for-the-badge\u0026logo=apache-airflow\u0026logoColor=white)\n![Feast](https://img.shields.io/badge/Feast-6E40C9?style=for-the-badge)\n\n### **Infrastructure**\n![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![Kubernetes](https://img.shields.io/badge/Kubernetes-326CE5?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white)\n![Prometheus](https://img.shields.io/badge/Prometheus-E6522C?style=for-the-badge\u0026logo=prometheus\u0026logoColor=white)\n![Grafana](https://img.shields.io/badge/Grafana-F46800?style=for-the-badge\u0026logo=grafana\u0026logoColor=white)\n\n### **API \u0026 Serving**\n![FastAPI](https://img.shields.io/badge/FastAPI-009688?style=for-the-badge\u0026logo=fastapi\u0026logoColor=white)\n![Kafka](https://img.shields.io/badge/Kafka-231F20?style=for-the-badge\u0026logo=apache-kafka\u0026logoColor=white)\n\n\u003c/div\u003e\n\n---\n\n## 📁 Project Structure\n\n```\nmlops-pipeline-framework/\n├── src/\n│   ├── data/                    # Data pipelines\n│   │   ├── ingestion/          # Data ingestion\n│   │   ├── preprocessing/      # Data preprocessing\n│   │   └── validation/         # Data validation\n│   ├── models/                  # Model code\n│   │   ├── training/           # Training logic\n│   │   ├── evaluation/         # Evaluation\n│   │   └── registry/           # Model registry\n│   ├── serving/                 # Model serving\n│   │   ├── api/               # FastAPI endpoints\n│   │   ├── batch/             # Batch inference\n│   │   └── streaming/         # Stream processing\n│   ├── monitoring/             # Monitoring\n│   │   ├── metrics.py         # Metrics collection\n│   │   └── alerts.py          # Alert rules\n│   └── orchestration/          # Workflow orchestration\n│       └── dags/              # Airflow DAGs\n├── pipelines/                  # Pipeline definitions\n│   ├── training_pipeline.py   # Training workflow\n│   ├── inference_pipeline.py  # Inference workflow\n│   └── retraining_pipeline.py # Auto-retraining\n├── tests/                      # Tests\n│   ├── unit/                  # Unit tests\n│   ├── integration/           # Integration tests\n│   └── e2e/                   # End-to-end tests\n├── configs/                    # Configuration files\n│   ├── model_config.yaml      # Model configs\n│   ├── pipeline_config.yaml   # Pipeline configs\n│   └── deployment_config.yaml # Deployment configs\n├── deployments/                # Deployment manifests\n│   ├── kubernetes/            # K8s manifests\n│   └── docker/                # Docker configs\n├── docs/                       # Documentation\n├── monitoring/                 # Monitoring configs\n│   ├── prometheus/            # Prometheus setup\n│   └── grafana/              # Grafana dashboards\n├── scripts/                    # Utility scripts\n├── main.py                     # Application entry\n├── requirements.txt           # Dependencies\n└── README.md                  # This file\n```\n\n---\n\n## 🚀 Usage Examples\n\n### Complete ML Pipeline\n\n```python\nfrom src.pipeline import MLPipeline\n\n# Initialize pipeline\npipeline = MLPipeline(\n    name=\"fraud_detection\",\n    config_path=\"configs/fraud_model.yaml\"\n)\n\n# Run full pipeline\nresults = pipeline.run(\n    data_source=\"s3://data/transactions.csv\",\n    experiment_name=\"fraud_detection_v2\"\n)\n\nprint(f\"\"\"\nPipeline Results:\n- Model: {results['model_uri']}\n- Accuracy: {results['metrics']['accuracy']:.3f}\n- Deployment: {results['deployment']['endpoint']}\n\"\"\")\n```\n\n### Batch Inference\n\n```python\nfrom src.serving.batch import BatchPredictor\n\n# Initialize predictor\npredictor = BatchPredictor(\n    model_uri=\"models:/production/fraud_model/latest\"\n)\n\n# Run batch predictions\npredictions = predictor.predict_batch(\n    input_path=\"s3://data/new_transactions.csv\",\n    output_path=\"s3://predictions/results.csv\"\n)\n\nprint(f\"Processed {len(predictions)} predictions\")\n```\n\n### Real-time Serving\n\n```python\nfrom fastapi import FastAPI\nfrom src.serving import ModelServer\n\napp = FastAPI()\nmodel_server = ModelServer(\"models:/production/latest\")\n\n@app.post(\"/predict\")\nasync def predict(features: dict):\n    prediction = model_server.predict(features)\n    return {\n        \"prediction\": prediction,\n        \"model_version\": model_server.version,\n        \"latency_ms\": model_server.last_latency\n    }\n```\n\n---\n\n## 📊 Performance\n\n### Benchmarks\n\n| Metric | Value | Target |\n|--------|-------|--------|\n| **Training Time** | 15 min | \u003c 20 min |\n| **Inference Latency (p50)** | 25ms | \u003c 50ms |\n| **Inference Latency (p95)** | 45ms | \u003c 100ms |\n| **Throughput** | 2000 pred/sec | \u003e 1000 pred/sec |\n| **Model Accuracy** | 96.5% | \u003e 95% |\n| **Deployment Time** | 2 min | \u003c 5 min |\n\n---\n\n## 🤝 Contributing\n\nContributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n---\n\n## 📄 License\n\nMIT License - see [LICENSE](LICENSE) file.\n\n---\n\n## 📞 Contact\n\n\u003cdiv align=\"center\"\u003e\n\n[![GitHub](https://img.shields.io/badge/GitHub-devsuthar--ai-181717?style=for-the-badge\u0026logo=github)](https://github.com/devsuthar-ai)\n[![LinkedIn](https://img.shields.io/badge/LinkedIn-Dev_Suthar-0A66C2?style=for-the-badge\u0026logo=linkedin)](https://linkedin.com/in/devsuthar)\n[![Email](https://img.shields.io/badge/Email-Contact-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:dev.suthar@example.com)\n\n---\n\n**Made with ❤️ by Dev Suthar**\n\n*Building production ML systems at scale*\n\n⭐ **Star this repo if you find it helpful!**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsuthar-ai%2Fmlops-pipeline-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevsuthar-ai%2Fmlops-pipeline-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevsuthar-ai%2Fmlops-pipeline-framework/lists"}