インストール
動作環境
- Python 3.11 以上
- USI 対応の将棋エンジン
- Linux、macOS、Windows
Windows はネイティブ環境で動作します(WSL2 上でも利用できます)。
ローカルで多数の対局を並列実行する場合は、エンジンのスレッド数と ShogiArena の並列数を合わせて調整してください。
CPU アーキテクチャ
将棋ドメインロジックは拡張モジュール rsshogi に依存します。
Windows x86_64、Linux x86_64、Linux arm64、macOS Intel、macOS Apple Silicon の
いずれにもビルド済み wheel が提供されるため、通常はソースビルドを必要としません。
x86_64 環境で将棋ロジックの処理速度を優先する場合は、AVX2 向けビルドへ差し替えられます。
両者は同じ rsshogi という import 名を提供するため、同時にインストールはできません。
pip install shogiarena
pip uninstall -y rsshogi
pip install rsshogi-avx2
注意点:
- AVX2 非対応の CPU や arm64 環境では
rsshogi-avx2は使えません。 - 差し替え後は
shogiarenaの依存rsshogiが未充足になりpip checkが警告します。pip install --upgrade shogiarenaなどで portable 版が再インストールされるため、 差し替えは更新のたびに適用し直してください。
差し替えが必要かどうかは、エンジン側の探索ではなく ShogiArena 側の棋譜処理が律速に なっている場合にのみ検討してください。
PyPI から使う
pip install shogiarena
shogiarena --help
標準の出力先やエンジン配置先を作る場合は初期設定を行います。
shogiarena config init
shogiarena config show
config init は必須ではありません。
ただし、次の機能を使う場合は先に設定しておくとパス管理が分かりやすくなります。
{output_dir}/{engine_dir}プレースホルダー- artifact ベースのエンジン解決
- 共有キャッシュやリポジトリ設定
非対話で初期化する例:
shogiarena config init --non-interactive \
--output-dir /path/to/output \
--engine-dir /path/to/engines
ソースから開発する
このリポジトリの開発では uv を使います。
git clone https://github.com/nyoki-mtl/ShogiArena.git
cd ShogiArena
uv sync
uv run shogiarena --help
主な開発コマンド:
make help
make check
make test
make docs-build