fmind/cookiecutter-mlops-package

Start building and deploying Python packages and Docker images for MLOps tasks.

What it solves

It eliminates the repetitive overhead of setting up a professional MLOps environment from scratch. Instead of manually configuring linting, testing, security scanning, and CI/CD pipelines for every new machine learning project, developers can use this template to jumpstart a production-ready codebase that follows industry best practices.

How it works

It is a Cookiecutter template that generates a standardized Python project structure. It integrates a modern toolchain to automate the development lifecycle:

  • Task Management: Uses mise to define a single set of commands (install, test, build) used across local development and CI.
  • Python Stack: Employs uv for fast dependency management, Ruff for linting/formatting, and ty for type checking.
  • Security: Integrates pip-audit, gitleaks, Trivy, and hadolint to scan for vulnerabilities and secrets.
  • Deployment: Provides a multi-stage Docker image and GitHub Actions workflows for continuous integration and deployment.
  • Experiment Tracking: Includes a local MLflow setup with a SQLite backend for tracking and model registry.

Who it’s for

ML engineers and data scientists who need a robust, scalable foundation for building AI/ML packages that can be integrated into platforms like Kubernetes, Vertex AI, Databricks, Azure ML, or AWS SageMaker.

Highlights

  • Unified Vocabulary: One set of commands for developers, Git hooks, and CI pipelines.
  • Security-First: Built-in scanning for dependency CVEs, secrets, and container image vulnerabilities.
  • Automated CI/CD: Pre-configured GitHub Actions for testing, releasing documentation to GitHub Pages, and pushing images to GHCR.
  • Modern Tooling: Leverages high-performance tools like uv and Ruff for a faster development loop.

Related

  • Project
  • Project
  • Project
  • Project
  • Project