プロジェクト構成

Pythonパッケージはsrc/shogiarena/にあります。 エンジン操作やトーナメントの入口となるモジュールと、機能ごとの実装に分かれています。

Pythonパッケージ

src/shogiarena/
├── cli.py
├── composition.py
├── engine.py
├── tournament.py
└── _core/
    ├── contexts/
    ├── platform/
    ├── interfaces/
    └── shared/kernel/
モジュール役割
engine.pyUSIエンジンの起動、探索、解析
tournament.pyトーナメントの設定と実行
cli.pyコマンドラインの入口
composition.py実行に必要なサービスの組み立て

機能ごとの実装

ディレクトリ内容
contexts対局、トーナメント、SPSAなどの処理
platformDB、ファイル、エンジンプロセス、ネットワークの操作
interfacesCLI、ダッシュボード、設定の読み込み
shared/kernel統計計算や持ち時間などの共通処理

contextsでは、計算やルールをdomain、処理の流れをapplication、外部への接続口をports、その実装をadaptersに置いています。 サービスを組み合わせる処理はcomposition rootにあります。

その他のディレクトリ