fmind/cookiecutter-mlops-package

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

何を解決するか

新しい機械学習プロジェクトを始めるたびに、linting、テスト、セキュリティスキャン、CI/CDパイプラインを手動で設定する繰り返しの作業を排除します。このテンプレートを使えば、業界のベストプラクティスに従ったプロダクション準備完了のコードベースを素早く構築できます。

動作方法

Cookiecutterテンプレートであり、標準化されたPythonプロジェクト構造を生成します。開発ライフサイクルを自動化する現代的なツールチェーンを統合しています:

  • タスク管理:mise を使用して、ローカル開発とCIで共通して使用される一連のコマンド(インストール、テスト、ビルド)を定義します。
  • Pythonスタック:uv で高速な依存関係管理、Ruff でlinting/フォーマット、ty で型チェックを実行します。
  • セキュリティ:pip-audit、gitleaks、Trivy、hadolint を統合して、脆弱性やシークレットをスキャンします。
  • デプロイ:マルチステージのDockerイメージとGitHub Actionsワークフローを提供し、継続的インテグレーションとデプロイを実現します。
  • 実験追跡:SQLiteバックエンドを備えたローカルMLflow設定を含み、モデルの追跡とレジストリをサポートします。

対象ユーザー

Kubernetes、Vertex AI、Databricks、Azure ML、AWS SageMakerなどのプラットフォームに統合可能な、堅牢でスケーラブルなAI/MLパッケージを構築する必要があるMLエンジニアやデータサイエンティスト。

特徴

  • 統一された語彙:開発者、Gitフック、CIパイプラインで共通のコマンドセットを使用。
  • セキュリティ最優先:依存関係のCVE、シークレット、コンテナイメージの脆弱性を内蔵スキャンで検出。
  • 自動化されたCI/CD:GitHub Actionsを事前構成済みで、テスト、GitHub Pagesへのドキュメントリリース、GHCRへのイメージプッシュを自動化。
  • 現代的なツール:uv や Ruff といった高性能ツールを活用し、より高速な開発ループを実現。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト