Python スチュワードシップ ワーキンググループ

GitLab 内での Python 開発の集約

属性

プロパティ
作成日2024-11-01
目標終了日2025-03-01
エピックhttps://gitlab.com/groups/gitlab-org/-/epics/15580
Slack#wg_python-stewardship(社内からのみアクセス可能)
Google Docアジェンダ(https://docs.google.com/document/d/1gs-OrjjyfxQ3BDaKxOXcrMuUl3z1jmsxGmbdmEgIBF8/edit?tab=t.dma9z3zh8fwb)(社内からのみアクセス可能)
ミーティングカレンダーカレンダー(https://calendar.google.com/calendar/u/0?cid=Y18xZWE4ZTViZWZiYmUzMDk0MDgzNGJiZWViMWY1NTFlODVjNWQ0NzQwZDc0MzJhMWQyMDkzOWQ4MzU0YjhkNjU3QGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20)(社内からのみアクセス可能)

目標

  • GitLab 内での Python 開発を集約し、高品質な Python コードベースの開発に対して開発者が自信を持てるようにします。
  • Python のサービスやライブラリを GitLab でどのように作成・維持・デプロイするかについて、意見のあるガイドラインを提供することで、開発者の意思決定を簡素化します。
  • Python コードベースへの貢献を希望する、または必要とする開発者のトレーニングのためのリソース(コース、メンタリング)を定義します。

背景

Python は長年にわたり小規模で会社に存在していましたが、AI インフラの進化により Python は私たちのプロダクトの重要な部分になりました。しかし、その周辺の開発文化はまだ集約されていません。

その結果、開発者は Python コードの書き方、Python コードのレビュー方法、新機能の設定方法について混乱しています。Ruby の開発者もコードベースの理解とコントリビューションにおいてサポートの不足を感じています。Ruby コードベースと Python コードベースの重要な違いの一つは、Python コードベースがより分散していることです:単一のリポジトリではなく、各エリアを担当する複数のリポジトリが存在します。

既存の Python コードベースの例:

主要マイルストーン

  • 17.7 - ワーキンググループのキックオフ
  • 17.8 - ドキュメントへの貢献
  • 17.9 - Python サービス、ライブラリ、リンティングおよびユーティリティのテンプレートを定義する

完了基準

基準DRI
Python 以外の開発者が Python コードベースの理解とコントリビューション方法についてのガイダンスを得られる@mhamda
Python コードベース作成のガイドラインとテンプレート(アウトカムに記載)がマージされている@tle_gitlab
Python コードベースのコードレビューとメンテナーシップのガイドラインがマージされている@brytania
3 種類のアプリケーションタイプそれぞれのデプロイガイドライン@eduardobonet

アウトカム

ドキュメントとプロセス:

  • Python 以外の開発者向けトレーニング
  • 開発ガイドライン
    • リポジトリの種類:
      • Python サービス(AIGW、ワークフロー)
      • Python ユーティリティ(CEF)
      • ライブラリ
    • コードベースの作成
    • 認証
    • テストガイドライン
  • コードレビューとメンテナーシップのガイドライン
  • デプロイガイドライン
    • Python サービス(AIGW、ワークフロー)
    • Python ユーティリティ(CEF)
    • ライブラリ

開発者エクスペリエンス:

  • 共通セットアップの抽出
    • リンター
    • フレームワーク
    • コード構造
    • デプロイ用 CI

役割と責任

ワーキンググループの役割担当者役職
エグゼクティブスポンサーTim ZallmannVP of Engineering
ファシリテーターEduardo BonetStaff Fullstack Engineer, Custom models
メンバーFred de GierStaff Fullstack Engineer, MLOps
メンバーAlejandro RodríguezSenior Backend Engineer, AI Framework
メンバーAlexander ChueshevStaff ML Engineer, AI Framework
メンバーTan LeStaff ML Engineer, Model Validation
メンバーStephan RaynerSenior ML Engineer, Model Validation
メンバーTetiana ChuprynaSenior Backend Engineer, Duo Chat
メンバーMohamed HamdaSenior Backend Engineer, Custom models
メンバーDylan BernardiBackend Engineer, Editor Extensions
メンバーShola QuadriAssociate Backend Engineer, Code Creation
メンバーVitali TatarintevSenior Backend Engineer, Code Creation
メンバーMikołaj WawrzyniakStaff Backend Engineer, Agent Foundations(借受)
メンバーRyan EgesdahlSenior Distribution Engineer, Distribution Build

同期録画

対象外

  • AI Gateway の進化は、この WG の提案に関連していますが、スコープ外です。
  • データサイエンスのユースケース(新しい ML モデルを開発するためのコードなど)はシステム開発とは大きく異なり、それ固有のガイドラインセットが必要です。