テラーノベルで機械学習を中心に担当している川尻です。 最近新たにPythonのプロジェクトを立ち上げるときにモノレポ構成にしました。Pythonにはまだデファクトとなるようなモノレポのツールはないですが、poetryだけで新しいツールを使わずに対応できたのでご紹介します。 モノリポにするメリットは、大まかには以下のようになります。 Linter, CI, IDEなどのよく使うツールの設定が簡単に共通化できる。 モジュール間の依存関係をシンプルにできる。 Pythonでモノレポをやっている例を検索すると、pantsやbazelなど多言語に対応した専用のツールを使う方法もでてきました。今回は言語はPythonだけでよく、新しい書き方を覚えるのも大変なのでpoetryだけてやる方法としました。 参考に以下のリポジトリにコードを上げました。 ファイル構成 大まかなファイル構成は以下のようになります
