Skip to content

Repository files navigation

🔥 MLOps Course

From Jupyter notebooks to production-grade ML systems.

Python 3.12 Flama MLflow Airflow Docker License: MIT

A hands-on course that teaches you how to build, deploy, and operate ML models like a professional engineer. No slides, no fluff. Just real code, real tools, and real pipelines.


Why this course?

Most ML courses stop at model.fit(). This one starts there.

You will learn how to take a trained model and turn it into a reliable, testable, deployable service with proper CI/CD, orchestration, monitoring, and containerisation. Everything you need to go from a prototype to production.

Architecture

┌─────────────────────────────────────────────────────────────────┐
│                        MLOps Pipeline                           │
├─────────────┬─────────────┬──────────────┬──────────────────────┤
│  Training   │  Registry   │   Serving    │    Orchestration     │
│             │             │              │                      │
│  scikit-    │   MLflow    │    Flama     │      Airflow         │
│  learn      │             │   + Docker   │                      │
└─────────────┴─────────────┴──────────────┴──────────────────────┘

Quick Start

# Clone
git clone git@github.com:vortico/mlops-course.git && cd mlops-course

# Install
make install-dev

# Serve the model
make model-serve

The API will be available at http://localhost:8000 with interactive docs at http://localhost:8000/docs/.

What's Inside

mlops-course/
├── mlops/                  # Python package (the core ML application)
│   ├── app.py             # Flama API entrypoint
│   ├── apps/              # Mounted sub-applications (e.g. churn)
│   ├── pipelines/         # scikit-learn training pipelines
│   ├── processors/        # Data preprocessing (e.g. outlier clipping)
│   └── transformers/      # Custom sklearn transformers
├── notebooks/             # Exploratory analysis & experiments
├── airflow/               # DAGs for pipeline orchestration
├── mlflow/                # Model registry configuration
├── artifacts/             # Trained model artifacts (.flm files)
├── data/                  # Datasets (churn, cars)
├── tests/                 # Test suite
├── docs/                  # Course documentation
├── Dockerfile             # Production container
├── docker-compose.yaml    # Local development stack
└── Makefile               # Developer commands (run `make` for help)

Tech Stack

Layer Tool Purpose
Language Python 3.12 Core language
ML Framework scikit-learn Training and pipelines
API Serving Flama Model serving with OpenAPI docs
Containerisation Docker Reproducible deployments
Orchestration Apache Airflow Pipeline scheduling and DAGs
Model Registry MLflow Experiment tracking and model versioning
Package Manager Poetry Dependency management
Code Quality ruff, black, isort, pyright Linting and type checking
Testing pytest Unit and integration tests

Make Commands

Run make to see all available commands:

make install-dev       # Install project with dev dependencies
make install           # Install project (main dependencies only)
make model-serve       # Serve the model locally
make model-start       # Start the model container (Docker)
make model-stop        # Stop the model container
make airflow-start     # Start Airflow
make airflow-stop      # Stop Airflow
make lint              # Run linting tools
make lint-fix          # Auto-fix linting issues
make test              # Run test suite

Documentation

Detailed guides for each topic are in the docs/ directory:

Topic Description
Development Environment Setting up pyenv + Poetry for ML projects
Make & Automation Using Makefiles for reproducible workflows
Package Structure Organising ML code as a proper Python package
CI/CD Continuous integration and deployment for ML
MLflow Experiment tracking and model registry
Airflow Orchestrating ML pipelines with DAGs

Contributing

# 1. Install dev dependencies
make install-dev

# 2. Make your changes

# 3. Validate
make lint && make test

# 4. Submit a pull request

License

MIT. See LICENSE for details.


Built with 🔥 by Vortico

About

Course materials for MLOps, focusing on deploying and managing ML systems in production.

Topics

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages