Welcome to the MLOps and ML Engineering course! This repository contains practical materials and examples for learning modern Machine Learning Operations (MLOps) and engineering best practices. The course is designed to bridge the gap between data science and production-ready ML systems.
-
Clone this repository
-
Install dependencies:
make install-dev
- Start the model server
make model-serve
You can find the documentation in the docs/
directory:
cicd/
- CI/CD pipeline implementation and practicesdev-env/
- Python environment management with pyenv and poetrymake/
- Automation and Makefile usage guidepackage/
- MLOps package structure and implementationairflow/
- Airflow DAGs and configurationmlflow/
- MLflow configuration and best practicespackage/
- MLOps package structure and implementation
This project uses modern Python development tools and practices:
airflow-start Start serving airflow
airflow-stop Start serving airflow
black Runs black
install-dev Installs the project (with dev dependencies)
install Installs the project (only main dependencies)
isort Runs isort
lint-fix Runs a linting pipeline with auto fixing: black, isort, ruff, and mypy
lint Runs linting tools
model-serve Serves the model in local environment
model-start Start serving the model container
model-stop Stop serving the model container
pyright Runs pyright
ruff Runs ruff
test Runs tests
- Python Version: 3.13
- Package Management: Poetry
- Code Quality: black, isort, ruff, pyright
- Testing: pytest
- Model Serving: Flama
- Model Deployment: Docker
- Model Registry: mlflow
- Orchestration: airflow
This course covers:
- Setting up professional ML development environments
- Implementing CI/CD for ML projects
- Building production-ready ML pipelines
- Best practices for model deployment
- Code quality and testing in ML projects
Detailed documentation is available in the docs/
directory:
- Ensure you have all development dependencies installed
- Make your changes
- Run the full test suite:
make lint && make test
- Submit your pull request
This project is licensed under the MIT License - see the LICENSE file for details.