This repository is a learning sandbox for ML engineering and MLOps practices.
The course is split into 5 challenges, and each challenge is delivered on its own Git branch. This README stays generic and gives only the common workflow used across all branches.
src/diamonds/: Python package codedata/: raw and preprocessed datamodels/: locally saved modelsmlartifacts/: MLflow artifactsnotebooks/: exploration and experimentation notebooksdocs/: challenge instructions
Current docs already available:
docs/01-Packaging.mddocs/02-Model-Registry.md
At the end, the repository contains 5 challenge branches (one branch per challenge).
Typical flow:
- Checkout the branch for the challenge.
- Read the matching file in
docs/. - Implement the requested tasks.
- Commit and push your solution branch.
From the project root:
make setupThis installs the project in editable mode (pip install -e .).
Python requirement (from pyproject.toml):
- Python
>=3.11,<4.0
git fetch origin
git checkout <challenge-branch>
git pull origin <challenge-branch>If you work on your own solution branch:
git checkout -b <your-name>-<challenge>Start MLflow server:
make launch-mlflow-serverDefault local UI:
http://127.0.0.1:5000
Optional environment variable for scripts:
export MLFLOW_TRACKING_URI=http://127.0.0.1:5000- Keep changes focused on the current challenge branch.
- Do not assume code from another challenge branch is already merged.
- Prefer small, clear commits with explicit messages.