← Back to all products
$49
MLOps Pipeline Templates
End-to-end ML pipeline templates with feature engineering, training, evaluation, and deployment stages.
MarkdownYAMLPythonAzureGitHub ActionsCI/CD
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 46 files
mlops-pipeline-templates/
├── LICENSE
├── README.md
├── ci_cd/
│ ├── azure_pipelines.yaml
│ ├── github_actions.yaml
│ └── gitlab_ci.yaml
├── free-sample.zip
├── guide/
│ ├── 01-getting-started.md
│ └── 02-pipeline-patterns.md
├── guides/
│ ├── getting-started.md
│ └── pipeline-patterns.md
├── index.html
├── pipelines/
│ ├── classification_pipeline.yaml
│ ├── nlp_pipeline.yaml
│ └── regression_pipeline.yaml
├── requirements.txt
├── src/
│ ├── __init__.py
│ ├── __pycache__/
│ │ ├── __init__.cpython-312.pyc
│ │ ├── artifacts.cpython-312.pyc
│ │ ├── config_loader.cpython-312.pyc
│ │ ├── dag.cpython-312.pyc
│ │ ├── deployment.cpython-312.pyc
│ │ ├── evaluation.cpython-312.pyc
│ │ ├── feature_engineering.cpython-312.pyc
│ │ ├── model_registry.cpython-312.pyc
│ │ ├── pipeline_runner.cpython-312.pyc
│ │ ├── reproducibility.cpython-312.pyc
│ │ └── training.cpython-312.pyc
│ ├── artifacts.py
│ ├── config_loader.py
│ ├── dag.py
│ ├── deployment.py
│ ├── evaluation.py
│ ├── feature_engineering.py
│ ├── model_registry.py
│ ├── pipeline_runner.py
│ ├── reproducibility.py
│ └── training.py
└── tests/
├── __init__.py
├── __pycache__/
│ ├── __init__.cpython-312.pyc
│ ├── test_dag.cpython-312.pyc
│ ├── test_feature_engineering.cpython-312.pyc
│ └── test_pipeline_runner.cpython-312.pyc
├── test_dag.py
├── test_feature_engineering.py
└── test_pipeline_runner.py
📖 Documentation Preview README excerpt
MLOps Pipeline Templates
Config-driven ML pipeline framework with DAG orchestration, model registry, and CI/CD templates for reproducible machine learning.
Drop-in pipeline stages for feature engineering, training, evaluation, and deployment — wired together by a lightweight DAG runner that captures every seed, environment variable, and library version so you can reproduce any run months later.
What You Get
- DAG-based pipeline runner that resolves stage dependencies, supports parallel branches, and retries failed stages with exponential backoff
- Feature engineering stage with column transformers, target encoding, time-based feature extraction, and missing-value strategies
- Training stage supporting scikit-learn, PyTorch, and TensorFlow with unified config
- Evaluation stage that computes classification, regression, and ranking metrics with threshold gates
- Deployment stage with blue/green, canary, and shadow deployment strategies
- Model registry interface for versioning, stage transitions (staging → production → archived), and lineage tracking
- Config loader that merges YAML pipeline configs with environment overrides and CLI arguments
- Reproducibility capture — records Python version, library versions, random seeds, GPU info, git SHA, and environment variables per run
- Artifact manager for model files, plots, metrics JSON, and data snapshots with content-addressable hashing
- Three complete pipeline configs — classification, regression, and NLP pipelines ready to customize
- CI/CD templates for GitHub Actions, GitLab CI, and Azure Pipelines
- Comprehensive test suite with mock models and fixture data
File Tree
mlops-pipeline-templates/
├── README.md
├── LICENSE
├── requirements.txt
├── .gitignore
├── src/
│ ├── __init__.py
│ ├── pipeline_runner.py # DAG orchestrator with retry + parallel execution
│ ├── dag.py # DAG data structure, topological sort, cycle detection
│ ├── config_loader.py # YAML config merging + env override + CLI args
│ ├── feature_engineering.py # Column transforms, encoders, time features
│ ├── training.py # Unified training interface (sklearn/torch/tf)
│ ├── evaluation.py # Metrics computation + threshold gates
│ ├── deployment.py # Blue/green, canary, shadow deployment
│ ├── model_registry.py # Model versioning + stage transitions
│ ├── reproducibility.py # Seed/env/library capture for reproducible runs
│ └── artifacts.py # Content-addressable artifact storage
├── pipelines/
│ ├── classification_pipeline.yaml
│ ├── regression_pipeline.yaml
│ └── nlp_pipeline.yaml
├── ci_cd/
│ ├── github_actions.yaml
│ ├── gitlab_ci.yaml
│ └── azure_pipelines.yaml
├── tests/
│ ├── __init__.py
│ ├── test_pipeline_runner.py
│ ├── test_feature_engineering.py
│ └── test_dag.py
└── guides/
├── getting-started.md
└── pipeline-patterns.md
... continues with setup instructions, usage examples, and more.
📄 Code Sample .py preview
src/artifacts.py
"""
Artifact Manager — Content-Addressable Artifact Storage
=======================================================
Manages pipeline artifacts (model files, plots, metrics JSON, data
snapshots) with content-addressable hashing so you can verify
integrity and deduplicate identical artifacts across runs.
Layout:
artifacts_root/
├── <run_id>/
│ ├── manifest.json # Maps artifact names to hashes + metadata
│ ├── model.pkl # Stored artifacts
│ ├── metrics.json
│ └── confusion_matrix.png
└── blobs/
└── <sha256_prefix>/ # Content-addressable blob store
└── <full_sha256>
"""
from __future__ import annotations
import hashlib
import json
import logging
import shutil
from dataclasses import dataclass, field
from datetime import datetime, timezone
from pathlib import Path
from typing import Any, Dict, List, Optional
logger = logging.getLogger(__name__)
@dataclass
class ArtifactRecord:
"""Metadata for a single artifact within a run."""
name: str
sha256: str
size_bytes: int
content_type: str = ""
created_at: str = ""
tags: Dict[str, str] = field(default_factory=dict)
def to_dict(self) -> Dict[str, Any]:
return {
"name": self.name,
"sha256": self.sha256,
"size_bytes": self.size_bytes,
"content_type": self.content_type,
# ... 207 more lines ...